PHP library to manipulate and generate responsive images
Image::transform()
. For example crop(200, 400, Image::CROP_ENTROPY)
is represented as crop,200,400,CROP_ENTROPY
.Use of constants to define the library to use (but you can keep using the strings "Gd", "Imagick"):
php $image = Image::create('my-image.jpg', Image::LIB_IMAGICK);
The method Imagecow\Image::resize()
accepts a fourth argument to resize the image using the smallest value instead the biggest. It's similar to css background-size: contain
and background-size: cover
. Example:
//load an image of 400x200px
$image = Imagecow\Image::create('image.jpg');
$image->resize(100, 100, false); //the result is an image of 100x50px
$image->resize(100, 100, false, true); //the result is an image of 200x100px
The use of proportions to define the position of the image on crop works like css's background-position
great explained in this article
Implemented the constants Imagecow\Image::CROP_ENTROPY
and Imagecow\Image::CROP_BALANCED
to use instead x/y position in crop and resizeCrop methods. This methods are taken from stojg/crop library and only works in Imagick. For Gd there's a fallback that uses center/middle instead.
Improved documentation in README
Improved compatibility checking. Now an exeception is throwed if gd is not installed
New methods Image::createFromFile()
and Image::createFromString()
because Image::create()
does not always detect right the type of source
use Imagecow\Image;
$image = Image::create('path/to/image-file.png', 'Imagick');
Resize in GD with autocalculate width or height can result in 0px. Fixed that using ceil instead floor.