Up to i.Mage...
- Complete rewrite of the polygon tool to use LGI's GPath object that supports anti-aliased paths of lines, quads and cubics. Fixed the zoom view and normal view to allow editing of the spline node points in scrolled and zoomed views. Right click on a node deletes that segment, right click anywhere else cancels the polygon. Full translucency and RGB is supported on all types of surfaces (8, 16, 24 and 32 bit). Obviously drawing onto an 8bit document is going to be converted to the nearest RGB in the palette.
- Revamped the blt code to correctly blt any surface on to any other. Wrote a test suite to make sure all the combinations are correct. Any conversion of bitmap data should now be as correct as I can make it. (Conversion of individual colours may still have issues)
- Fixed handling of 0x21 extension blocks in GIF files.
- Fixed the distribution of creating RGB gradients in palettes.
- Fixed 15/16 bit images and handling of alpha when saving png's. 8 bit images that use a background colour for transparency use an extra alpha channel along side the palette.
- Added background support so that 32bit images with alpha look correct. The background is selectable between black, white or grey tiles.
- Improved some of the error messages when the graphics file filters are not installed (i.e. libpng/libjpeg etc).
- [Linux] Fixed the error diffusion code to account for the actual bytes per pixel in 24 bit mode.
- Added 64-bit CMYK support to the Tiff loader. It downsamples to 32-bit RGBA to display within the confines of the rest of Lgi.