- Fix decoding EXIF data from WebP.
- Add ContrastMode.scurve to contrast filter.
- Filter functions will auto-convert palette images
- Add BinaryQuantizer.
- Fix ditherImage not returning dithered image.
- Fix APNG decoding.
- drawString should use alpha color.
- Improve performance of animated GIF decoding.
- Fix TIFF tile decoding
- Add solarize filter function
- Fix decoding TIFF with ZLIB decoding
- Add PNM format decoder.
- Add support for uint16 palettes.
- JPEG images will finish decoding even if the file is incomplete or has errors.
- Fix performance bug with Image.getBytes
- Incomplete or JPEGs with errors will now finish loading.
- Optimize copying bytes in Image.fromBytes
- 2 channel images are treated as Luminance-Alpha
- Fix Image.getBytes when ChannelOrder has a different number of channels than the image.
- copyResize command accepts maintainAspect and backgroundColor args.
- Fix EXIF decoder when image has bad IFD offsets.
- Improve drawString handling of new line characters when wrap is true.
- Improve GIF animation decoding when each frame has its own palette.
- Fix crash in copyResize for non-nearest interpolation modes.
- No changes, removing unnecessary files in 4.1.1.
- Add maintainAspect and backgroundColor to copyResize to resize width and height of an image, without stretching the source (using background color to pad).
- drawString will word-wrap even when x or y is set.
- Don't clamp brightness in adjustColor.
- Update pub dependencies.
- Fix reading 64-bit double EXIF values.
- Fix resizing multi-frame palette images.
- Fix transparency issue with encodeGif.
- Fix GIF decoder not decoding some animation files transparency and frame duration.
- Fix default rowStride for Image.fromBytes.
- Fix JPEG encoder for non uint8 format images.
- Use Image.backgroundColor for copyRotate, copyCropCircle, and other functions that reveal background pixels.
- Fix transform functions for palette images.
- Fix EXIF parsing little endian data
- Fix bounds errors with filter functions and palette images.
- Fix BMP encoding palette rgba images by converting them to 32-bit rgba.
- Add decodeJpgExif and injectJpgExif functions to process JPG exif data without needing to decode the image.
- Fix EXIF parse exception from empty strings.
- Fix EXIF string data not writing out null character.
- Fix last-minute typo from previous release.
- Fix offset error with BMP encoder for images with < 8 bits per pixel
- Improve quality of converting 3-channel image to 1-channel.
- Fix ChannelOrder.bgra.
- Add Image.hasAlpha getter property that will be true if the Image has an alpha channel.
- Fix Image.getRangeIterator skipping last line.
Image.remapChannels(ChannelOrder order)
to remap the order of channels from rgb to bgr, etc.Image.getBytes({ChannelOrder? order})
will return the image data, optionally reordering the channels.- Image.fromBytes can take an optional
ChannelOrder? order
named arg to specify the channel order of the input data.
- Improved antialiasing for drawLine
- Add antialias arg for drawCircle, fillCircle.
- Added radius argument to drawRect, fillRect, copyCrop, and copyResizeCropSquare to support rounded rectangles.
- Add Image.getPixelClamped method.
- Added TGA decoder 8-bit, 16-bit, 32-bit, and RLE compression modes.
- Fix for animated PNG with palette images, which needed a global palette for all frames.
- Fix TIFF encoder for palette images.
- Cleaned up EXIF classes.
- Fix for encoding GIF transparency.
- No changes, dart formatted code and fix documentation link.
- Use strict analyzer settings, clean up warnings.
- Major update of the Dart Image Library. Includes support for:
- Major overhaul of the API. Dart has changed a lot in the 10 years since this library was written, so the API has been modernized.
- Flexible ImageData, with support for 1, 2, 4, 8, 16, and 32 bit images, and 1-4 channels per pixel.
- 16, 32, and 64-bit floating-point format images.
- 8, 16, and 32-bit integer format images.
- Palette images with 1, 2, 4, and 8-bit colors.
- Improved pixel access API.
- Merged HDR and Animation functionality into the single Image class.
- New Command API with support for executing on Isolate threads.
- New filters and drawing commands.
- Improved EXIF data management
- Fix character code issue with BitmapFont.
- This is the last 3.x update before the big 4.0 release.
- Fix transparency issue with animated GIF images.
- Fixes for APNG: fix exception from some APNG files, and some frames were not composited correctly.
- Update SDK dependency to >2.15.0 and XML package dependency to >6.0.0
- Optimize Image.getWhiteBalance function, add asDouble argument to return double value.
- Add BmpEncoder to encode BMP images, along with encodeBmp function. Currently, only 24-bit or 32-bit BMP images will be encoded.
- Fix error loading some tiff images
- Fix jpeg comments to support non-strict utf8 text
- Update archive version requirement
- Fix JPGDecoder to return correct nullable types.
- Fix WebP lossless decoder.
- Change LICENSE to MIT.
- Clean up LICENSE file, moving other license references to LICENSE-other.
- Fix copyResize for landscape oriented images.
- Fix Dart warnings from the previous release.
- Fix #320 - copyResize incorrectly applies linear and cubic.
- Apply EXIF orientation when decoding JPEG images.
- Dithering support for GIF encoder.
- Fix PNGEncoder issue if addFrame is called directly instead than encodeImage or encodeAnimation.
- Optimization for drawImage.
- Improve NeuralQuantizer to fix issue encoding small GIF images.
- Code cleanup resolving lint issues.
- Migrate to null safety.
- Refactor HdrImage to better support more diverse formats, used for Hdr Tiff decoding.
- TiffDecoder will maintain Tag data after decoding, allowing them to be read to process image metadata.
- Added TiffEncoder. Still needs work to be able to add tag data to an encoded image.
- Clean up print statements from BmpDecoder.
- Added 64-bit float format to TIFF decoder.
- Fixed issues with TiffDecoder.decodeHdrImage.
- Added range clamping to copyCrop to avoid out-of-bound errors.
- Variable FPS for animated GIF encoding.
- Added 32-bit float and 16-bit half-float formats to the TIFF decoder.
- Downgrade Meta dependency to be compatible with flutter_test in the stable channel.
- Fix Image.getBytes for cropping images
- Fix bakeOrientation EXIF data
- Added ICO format decoder
- Fix JpegData.validate for unintended exceptions with non jpeg images
- Update xml dependency to 4.2.0
- Improvements for JPEG EXIF decoding
- Fix for the GIF animation decoder
- APNG encoder time delay correctly to milliseconds
- drawChar now uses color parameter.
- Fix index out of range bug in drawImage.
- Fix transparency with animated WebP images.
- Fix GIF animation loopCount encoding. Some viewers were not seeing the repeat count correctly.
- Resolve analysis warnings.
- Applied Pub's Health suggestions.
- Optimize use of slow typed_data methods.
- Add drawStringCentered function
- Add fillCircle function
- Fix drawLine thickness for axis-aligned lines
- JpegDecoder optimizations. Decoding an 8k jpeg went from 2048ms to 1340ms.
- Fix issue with XML parsing for font files not reading some files
- Fix bug with trim function for non-transparent trim mode
- Add ICO and CUR encoder.
- Fix BMP decoder for top-down BMP image files.
- Add BMP decoder, currently only supporting 24-bit and 32-bit non compressed BMP images. (Thanks Ryan Kauk)
- Updated some tests to use
test
-syntax. - Fixed null value in
GifEncoder
. - Added Dart syntax highlighting in the readme file.
- Formatted package using
dartfmt
. - Fixed "Unnecessary new" and other Dart analyzer warnings.
- Added the
samplingFactor
parameter to GIF encoding, which allows to significantly speed up encoding times of GIF encoding.
- Optimize fillRect, drawPixel, and other drawing functions when opaque colors are used.
- Revert the internal color format to #AABBGGRR.
- Fix crash decoding some Jpeg images.
- Fix infinite recursion crash with fillFlood when fill color is the same as the start pixel color.
- Fix typo and missing license in license file.
- Big API clean-up to bring it up to a more modern Dart syntax.
- Use strict dartanalysys settings and clean up code.
- Add ability to quantize an image to any number of colors.
- Optimizations for the JPEG decoder.
- Use #AARRGGBB for colors instead of #AABBGGRR, to be compatible with Flutter image class.
- Add floodfill drawing function.
- CopyRectify to transform an arbitrary quad to the full image.
- Improve performance of CopyResize.
- Improve JPEG decoding performance.
- Decode and encode ICC profile data from PNG images.
- bakeOrientation will clear the image's exif orientation properties.
- copyResize will correctly maintain the image's orientation.
- Added APNG (animated PNG) encoding.
- Optimized drawString function.
- copyResize can maintain aspect ratio when resizing height by using -1 for the width.
- Added example for loading and processing images in an isolate.
- Re-added decoding of orientation exif value from jpeg images.
- Added bake_orientation function, which will rotate an image so that it physically matches its orientation exif value, useful for rotating an image prior to exporting it to a format that does not support exif data.
Fix for bad jpeg files when encoding EXIF data.
Remove the use of Dart 1 upper-case constants. Update SDK dependency to a 2.0 development release.
Maintain EXIF data from JPEG images.
Remove the use of part
and part of
in the main library.
Update pubspec to account for the new version of xml package that has been published.
- Add fixes for strong mode support.
- Update pubspec to fix recent pub issues.
- Rename changelog.txt to CHANGELOG.md.
- Fix for 8-bit PNG decoding.
- Fix crash decoding some jpeg images.
- PVR encoding/decoding
- Fix 16-bit tiff decoding
- Fix alpha for PSD images.
- Various bug fixes
- Add drawImage function
- Update XML dependency to 2.0.0
- Fix OpenEXR decoder for dart2js
- OpenEXR fixes.
- Added OpenEXR format decoder.
- Add Photoshop PSD format decoder
- Fix JPEG encoder for compression quality < 100.
- Update to new version of archive.
- Optimizations
- Added TIFF decoder
- Added APNG animated PNG decoding support.
- Improved JPEG decoding performance
- Various bug fixes
- Added GIF decoding support, including animated gifs.
- Added WebP decoding support, included animated WebP.