Imagecow 是一个用于操作和生成响应式图像的 PHP 库。
- PHP >= 5.5
- 使用 GD2 或 Imagick 库
- 非常简单、快速且易于使用。
简单使用示例:
use Imagecow\Image; Image::fromFile('my-image.gif') ->autoRotate() ->resizeCrop(300, 400, 'center', 'middle') ->format('png') ->save('converted-image.png') ->show();
如何使用
安装
这个包可以通过 Composer 安装和自动加载。
$ composer require imagecow/imagecow
创建一个 Imagecow\Image 实例:
use Imagecow\Image; //Using Imagick: $image = Image::fromFile('my-image.jpg', Image::LIB_IMAGICK); //Detect the available library automatically //(in order of preference: Imagick, Gd) $image = Image::fromFile('my-image.jpg'); //Create an instance from a string $image = Image::fromString(file_get_contents('my-image.jpg'));
调整大小
Image::resize($width, $height = 0, $cover = false)
调整图像大小保持纵横比。
注意:如果新图片比原图片大,图片不会调整大小
-
$width
:图像的最大宽度。可以使用百分比或数字(像素) -
$height
:图像的最大高度。可以使用百分比或数字 -
$cover
:如果是true
,则新尺寸将涵盖宽度和高度值。这就像 css 的image-size: cover
.
//Assuming the original image is 1000x500 $image->resize(200); // change to 200x100 $image->resize(0, 200); // change to 400x200 $image->resize(200, 300); // change to 200x100 $image->resize(2000, 2000); // keeps 1000x500
裁剪
Image::crop($width, $height, $x = 'center', $y = 'middle')
裁剪图像:
-
$width
:裁剪图像的宽度,它可以是数字(像素)或百分比 -
$height
:裁剪图像的高度,它可以是数字(像素)或百分比 -
$x
:裁剪的水平偏移量。它可以是一个数字(对于像素)或百分比。您还可以使用关键字left
,center
和right
。 -
$y
:裁剪的垂直偏移。与 $x 一样,它可以是数字或百分比。您还可以使用关键字top
,middle
和bottom
。
$image->crop(200, 300); // crops to 200x300px $image->crop(200, 300, 'left', 'top'); // crops to 200x300px from left and top $image->crop(200, 300, 20, '50%'); // crops to 200x300px from 20px left and 50% top $image->crop('50%', '50%'); // crops to half size