Imagecow基于 PHP 的图像处理库

联合创作 · 2023-09-29 23:08

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,centerright
  • $y:裁剪的垂直偏移。与 $x 一样,它可以是数字或百分比。您还可以使用关键字top,middlebottom
$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
浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报