imageantialias if it's not available (#713, @ahukkanen)\Imagick::setImageOpacity() in order to prevent deprecation error with Imagick 3.4.4 and ImageMagick 6 (#715, @samdark, @mlocati)ImageInterface::THUMBNAIL_FLAG_NOCLONE flag for thumbnail() to let it modify the original image instance in order to save memory (@mlocati)Box now rounds the width/height it receives (previously it discarded the decimal points) (@mlocati)FontInterface method: wrapText - split a text into multiple lines, so that it fits a specific width (@mlocati)FontInterface implementation, it now must implement wrapTextcircle method implementations (@mlocati)dissolve method of ColorInterface normalizes the final value of alpha (@mlocati)dissolve doesn't throw a Imagine\Exception\InvalidArgumentException anymorecoalesce method of LayerInterface instances now returns the LayerInterface itself (@mlocati)LayerInterface implementation, it now must return $this__toString method has been added to ColorInterface since all its implementations have it (@mlocati)ColorInterface implementation, it now must implement __toStringoptimize if set, the size of animated GIF files is optimized (@mlocati)paste method now accepts images not fully included in the destination image (@mlocati)save method (@mlocati)rectangle and circle (@mlocati)DrawerInterface you should add these two new methodsgetChannelsMaxValue method has been added to PaletteInterface (@mlocati)PaletteInterface implementation, it now must implement this new methodImagine\File\LoaderInterface that allows loading remote images with any imaging driver (@mlocati).
You can use your own LoaderInterface implementation so that you can for instance use curl or any other library.flipHorizontally and flipVertically methods of GD images is now much faster on PHP 5.5+ (@mlocati)getColorAt method of Gmagick images (@mlocati)getTransformations to the Autorotate filter, so that you can get the list of transformations that should be applied to an image accordingly to the EXIF metadata (@mlocati)text drawer method on Windows when using relative font file paths (@mlocati)box font method on Windows when using relative font file paths (@mlocati)jpeg_sampling_factors option when saving JPEG images (Gmagick/Imagick only) (@ausi)setMetadataReader/getMetadataReader to ImagineInterface (@mlocati)ImagineInterface implementation, it now must implement those two methodsclone $image as an alternative to $image->copy() (@mlocati)BoxInterface, MetadataReaderInterface, FontInterface, LoaderInterface, LayersInterface, ImageInterface (@mlocati)ImagineInterface implementation, it now must implement the methods of ClassFactoryAwareInterfaceBox until it reaches a dimension less than 1 returns a box with dimension of 1 instead of throwing an exception (@mlocati)Box::scale throwing an exception in this caseBlackWhite, BorderDetection, Negation, Neighborhood (@rejinka)OnPixelBased (@rejinka, @mlocati)thumbnail to allow upscaling images (@vlakoff)$mode argument has been renamed to $settings, and it's now an integer (but old string values are accepted for backward compatibility). In this case the ManipulatorInterface constants THUMBNAIL_INSET, THUMBNAIL_OUTBOUND were changed from string values to integers.brightness (@lenybernard, @mlocati)colvolve available for all graphics libraries except gmagick with version prior to 2.0.1RC2 (@armatronic, @mlocati)/lib/Imagine to /src (@mlocati)quality and filters ManipulatorInterface::save options, use
jpeg_quality, png_compression_level and png_compression_filter instead.Layers::coalesce.ImageInterface::resize.LayersInterface now extends ArrayAccess, gives support for animated gifs.Gmagick::histogram.Drawer::text position fix.ImageInterface::strip.Imagick::resizeImage instead of Imagick::thumbnailImage for resizing.ImagineInterface::read to read from a stream resource.PointInterface::move.BoxInterface::scale can accept floats.Imagine\Fill\Gradient\Linear::getStart/getEnd.Imagine\Image\Color::isOpaque.Imagine\Image\Color construction.ManipulatorInterface from ImageInterface.ImageInterface::getColorAt.ImagineAware abstract filter class.FontInterface.