NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #116 most downloaded on pub.dev
Dart Image Library provides server and web apps the ability to load, manipulate, and save images with various image file formats.
Last release 24 days ago
13 Sep 2026
Release timing varies
gaps range from 8 days to 9 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
124 releases · first in 2014
Fix alpha blending onto translucent pixels, which darkened translucent animated WebP frames (#804).
PixelFloat16.a setter writing the green value.Add lossy WebP encoding with encodeWebP(lossless: false) and the quality, method and alphaQuality options.
encodeWebP(lossless: false) and the quality,
method and alphaQuality options.cwebp.exact and singleFrame options to encodeWebP.WebPEncoder.exact now defaults to true, preserving the color under fully
transparent pixels at the cost of larger files.One column per quarter.
Add the DitherKernel.burkes and DitherKernel.jarvisJudiceNinke error-diffusion kernels.
DitherKernel.burkes and DitherKernel.jarvisJudiceNinke
error-diffusion kernels.ditherImageBayer and the
DitherKernel.bayer2x2, DitherKernel.bayer4x4, DitherKernel.bayer8x8
kernels. Unlike the error-diffusion kernels, the pattern is position-based
and uses a fixed threshold matrix, so it is deterministic and fast.DitherScanOrder (raster, serpentine, zigzag, hilbert) and the
ditherImage(scanOrder:) / quantize(ditherScanOrder:) /
encodeGif(ditherScanOrder:) / GifEncoder(ditherScanOrder:) parameters.
zigzag visits pixels along the anti-diagonals, which breaks up the
horizontal worm artifacts of raster scanning.findDecoderForData.injectJpgExif dropping any segment (such as the JFIF APP0 header) that
precedes the EXIF APP1 block, and losing the embedded EXIF thumbnail.OctreeQuantizer mapping colors to palette index 0 when their octree
path hit a folded-away branch, which turned bright pixels near-black once an
image had more distinct colors than the requested palette size. Palettes
built from partially-folded internal nodes now include those nodes' entries,
so the palette also no longer comes up short of numberOfColors.* Remove meta dependency.
Fix minMax returning incorrect values when the minimum or maximum was in the first pixel of a multi-channel image.
minMax returning incorrect values when the minimum or maximum was in
the first pixel of a multi-channel image.copyResizeCropSquare ignoring the crop offset when using non-nearest
interpolation, which off-centered the resized result.copyResizeCropSquare throwing a range error when a non-zero radius was
used with a non-square image.drawLine drawing diagonal lines offset by ~1 pixel.copyExpandCanvas.Image.convert now applies an explicitly provided alpha value even when
the format and channel count are unchanged.Image.fromBytes when the source row stride is smaller
than the image's row stride.RangeError when decoding images with corrupt EXIF data.BM signature instead of
crashing the decoder.noise with NoiseType.saltAndPepper producing colored pixels instead
of black/white ones.colorOffset now scales its offsets to the bit depth of the image, so the
effect is consistent regardless of the image's format.fuzzy and padding options to trim and findTrim.findEncoderForData, which returns an Encoder for a buffer of image
data, complementing findDecoderForData.dispose option to GifEncoder to control the frame disposal method.PsdImage.layers no longer throws a LateInitializationError when accessed
before decode has been called.Fix JPEG decoding issue with Adobe RGB color transformations.
Nothing published for this version
Fix issue decoding the last row of lossless webp images.
Major update to the WebP decoder to resolve errors decoding some files.
Fix issues with injectJpegExif corrupting jpeg files.
Fix for fillRect for images that that have alpha.
Improve fillPolygon to better handle concave polygons.
* Reduce Min SDK version to 3.0.
Make image library compatible with archive 3.x
Add ConstColorRgba8, ConstColorRgb8 for const color creation.
Upgrade to Archive 4.0 dependency
Fix exceptions loading some PSD files.
Fix decoding EXIF data from WebP.
JPEG images will finish decoding even if the file is incomplete or has errors.
Incomplete or JPEGs with errors will now finish loading.
Optimize copying bytes in Image.fromBytes
Fix Image.getBytes when ChannelOrder has a different number of channels than the image.
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
* Update pub dependencies.
Fix resizing multi-frame palette images.
Fix GIF decoder not decoding some animation files transparency and frame duration.
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
Add decodeJpgExif and injectJpgExif functions to process JPG exif data without needing to decode the image.
Fix last-minute typo from previous release.
Fix offset error with BMP encoder for images with < 8 bits per pixel
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.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.ChannelOrder? order named arg to specify the channel order of the input data.Improved antialiasing for drawLine
Fix for animated PNG with palette images, which needed a global palette for all frames.
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:
Fix character code issue with BitmapFont.
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
Update archive version requirement
* 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.
Dithering support for GIF encoder.
Improve NeuralQuantizer to fix issue encoding small GIF images.
Your coding agent can read these notes before it upgrades. Set up the MCP server →