Releases: php-imagine/Imagine
Releases · php-imagine/Imagine
v1.2.1
v1.2.0
v1.1.0
v1.0.2
v1.0.1
v1.0.0
- New
FontInterface
method:wrapText
- split a text into multiple lines, so that it fits a specific width (@mlocati)
BREAKING CHANGE if you have your ownFontInterface
implementation, it now must implementwrapText
- Drawer methods can now accept a thickness of zero (@mlocati)
- Fix drawing unfilled chords with GD driver (@mlocati)
- Fix thickness drawing of unfilled chords with Imagick and Gmagick drivers (@mlocati)
- Fix handling of radius in
circle
method implementations (@mlocati) - The
dissolve
method ofColorInterface
normalizes the final value of alpha (@mlocati)
BREAKING CHANGEdissolve
doesn't throw aImagine\Exception\InvalidArgumentException
anymore
v1.0.0-alpha2
Changes since v1.0.0-alpha1:
- The
coalesce
method ofLayerInterface
instances now returns the LayerInterface itself (@mlocati)
BREAKING CHANGE if you have your ownLayerInterface
implementation, it now must return$this
- The
__toString
method has been added toColorInterface
since all its implementations have it (@mlocati)
BREAKING CHANGE if you have your ownColorInterface
implementation, it now must implement__toString
- New Imagick save option:
optimize
if set, the size of animated GIF files is optimized (@mlocati)
NOTE Imagick requires that the image frames have the same size - The
paste
method now accepts images not fully included in the destination image (@mlocati)
BREAKING CHANGE the paste method doesn't throw an OutOfBoundsException anymore - Fix handling of PNG compression in Imagick
save
method (@mlocati) - New drawer methods:
rectangle
andcircle
(@mlocati)
BREAKING CHANGE if you have your own implementation ofDrawerInterface
you should add these two new methods - The
getChannelsMaxValue
method has been added toPaletteInterface
(@mlocati)
BREAKING CHANGE if you have your ownPaletteInterface
implementation, it now must implement this new method
v1.0.0-alpha1
Changes since v0.7.1:
- Imagine is now tested under Windows too (@mlocati)
- Add support to webp image format (@chregu, @antoligy, @alexander-schranz)
- Add
Imagine\File\LoaderInterface
that allows loading remote images with any imaging driver (@mlocati).
You can use your ownLoaderInterface
implementation so that you can for instance use curl or any other library. - Fix some phpdoc issues (@mlocati)
flipHorizontally
andflipVertically
methods of GD images is now much faster on PHP 5.5+ (@mlocati)- Fix loading of PNG indexed images with GD (@mlocati)
- Loading indexed images with GD is now much faster on PHP 5.5+ (@mlocati)
- Add support to grayscale images with Gmagick (@mlocati)
- Add support to alpha channels of Gmagick images (@mlocati)
- Fix
getColorAt
method of Gmagick images (@mlocati) - Add
getTransformations
to theAutorotate
filter, so that you can get the list of transformations that should be applied to an image accordingly to the EXIF metadata (@mlocati) - The metadata reader now doesn't throw exceptions or warnings (@lentex, @mlocati)
- Fix documentation (@ZhangChaoWN, @Mark-H, @mlocati)
- Fix pixel range issue with Gmagick image (@b-viguier)
- Fix
text
drawer method on Windows when using relative font file paths (@mlocati) - Fix
box
font method on Windows when using relative font file paths (@mlocati) - Fix crash on Windows when loading an image with Imagick (@mlocati)
- Fix generation of API documentation (@mlocati)
- Add
jpeg_sampling_factors
option when saving JPEG images (Gmagick/Imagick only) (@ausi) - Add BMP as supported image format (@mlocati)
- Add support to new image type constants of Imagick (@ausi)
- Check that Imagick correctly supports profiles (@ausi)
- Add
setMetadataReader
/getMetadataReader
toImagineInterface
(@mlocati)
BREAKING CHANGE if you have your ownImagineInterface
implementation, it now must implement those two methods - Fix creating Gmagick images with alpha colors when palette doesn't support alpha (@FractalizeR)
- Fix warning about deprecated clone method in copy method of Imagick images (@mlocati)
- Fix copy methods of Images (the original image and its new copy are now fully detached) (@mlocati)
- It's now possible to use
clone $image
as an alternative to$image->copy()
(@mlocati) - Add support to custom classes for
BoxInterface
,MetadataReaderInterface
,FontInterface
,LoaderInterface
,LayersInterface
,ImageInterface
(@mlocati)
BREAKING CHANGE if you have your ownImagineInterface
implementation, it now must implement the methods ofClassFactoryAwareInterface
- Add support for pasting with alpha for GD and Imagick (@AlloVince, @mlocati)
- Downscaling a
Box
until it reaches a dimension less than 1 returns a box with dimension of 1 instead of throwing an exception (@mlocati)
BREAKING CHANGE if you relied onBox::scale
throwing an exception in this case - New filters:
BlackWhite
,BorderDetection
,Negation
,Neighborhood
(@rejinka) - Minor optimization of filters based on
OnPixelBased
(@rejinka, @mlocati) - Add flag to
thumbnail
to allow upscaling images (@vlakoff)
NOTE the$mode
argument has been renamed to$settings
, and it's now an integer (but old string values are accepted for backward compatibility) - New filter:
brightness
(@lenybernard, @mlocati) - New filter:
colvolve
available for all graphics libraries except gmagick with version prior to 2.0.1RC2 (@armatronic, @mlocati) - Fix bug in Imagine\Image\Palette\RGB::blend() (@dmolineus, @mlocati)
- Autoload was moved from PSR-0 to PSR-4, and code files moved from
/lib/Imagine
to/src
(@mlocati)