corona | home (original) (raw)
Overview
Corona is an image input/output library that can read, write, and manipulate image files in just a few lines of code. It can write PNG and TGA files, and read PNG, JPEG, PCX, BMP, TGA, and GIF. Corona was designed to be easy to use, and exports a straightforward C++ API. With just a few lines of C++, you can add image loading to your application.
Corona is open source and licensed under the zlib license. In a nutshell, this means that you can use the code however you wish, as long as you don't claim it as your own.
Corona is highly portable and works on Windows, Linux, and IRIX. It has been tested with the following compilers: Visual C++ 6, Visual C++ 7, gcc 2.95.3, gcc 2.96, gcc 3.0.1, gcc 3.2, and SGI MIPSPro. The code has no known endian issues, so it should work everywhere with few or no changes.
News
2003.09.02 - Corona 1.0.2 Released
- Added a corconvert program to convert one image file to another.
- Changed FileFormatDesc from a struct to an interface, removing a bunch of string parsing code from corona.h.
- Fixed file read callbacks for JPEG loader. This fixes a bug where some progressive JPEGs could not be opened.
- fixed memory leaks in SavePNG (Hosam Abdulrrazek)
- you can now specify an initial pixel buffer as the fourth argument to CreateImage (Hosam Abdulrrazek)
2003.05.11 - Corona 1.0.1 Released
- added IsDirect(), IsPalettized(), and GetPaletteSize() functions
- added FlipImage() function (Razvan Surdulescu)
- made FlipImage() operate in-place on the image object
- added writing support to the MemoryFile implementation
- made OpenFile (local filesystem access) a public function
- made autotools build actually install the corona-config script
- added support for saving TGA images
2003.01.05 - Corona 1.0.0 Released
The big one oh! After seven months, a new version of Corona is out. It has proven itself to be very mature software, and this release has no very large changes in functionality. However, I wholeheartedly recommend that everyone using 0.2.0 use 1.0.0 instead. And if you're not using Corona but are looking to load image files in C++, give it a shot!
Changes since 0.2.0:
- use __declspec instead of .def files for DLL compatibility with mingw
- made interfaces use __stdcall (COR_CALL) in Win32 so they are more compatible with COM
- build without PNG or JPEG support if their respective libraries aren't found
- added a ConvertPalette function to convert palettes between different pixel formats
- added a corona-config script
- fix bug in image cloning where the whole palette wouldn't be cloned
- added support for BGRA and BGR pixel formats
- better TGA support: 32-bit images should be BGRA, not GBRA. also, properly support flipped and mirrored images.
- added Kevin Gadd's change to make SaveImage() for PNG images save the correct pixel format, including the palette.
- added GetSupportedReadFormats and GetSupportedWriteFormats for supported format enumeration
- renamed GetBytesPerPixel to GetPixelSize
- made GetBytesPerPixel public within the API
- added a MemoryFile implementation for loading images from a block of memory
- removed the FileSystem interface
- added test Win32 image viewer
- made BMP loader return palettized images when relevant
- added JPEG tests to test suite (aegis)
- switch the order of the file type and pixel format in OpenImage. This is so people can do OpenImage("filename", PF_R8G8B8A8) without caring about the file type.
- don't crash when loading incomplete JPEGs
- added Matt Gambrell's .NET bindings to the VC7 build
- const correctness in File::write
2002.06.05 - Corona 0.2.0 Released
Corona 0.2.0 is out. A new web page came with it. :) Here is what changed since 0.1.0.
- added GLUT example
- added support for the entire BMP spec
- added comprehensive test suite
- four build systems: VC++ 6, VC++ 7, SCons, autoconf/automake
- builds on IRIX
- doxygen documentation
- added image creation and cloning functionality
- fixed possible crash in PNG exporter
- added support for reading TGA and GIF images
- fixed several PCX loading bugs
- added support for palettized images