jackal/image-merge

一个简单的PHP库,用于处理图片

v0.4.5 2020-05-06 08:23 UTC

This package is auto-updated.

Last update: 2024-09-06 18:42:29 UTC


README

一个简单的PHP库,用于处理图片,支持GIF、PNG和JPG

Latest Stable Version Total Downloads Latest Unstable Version License Build Status Scrutinizer Code Quality

要求

PHP >= 5.6 且支持GD库。对于一些额外功能(例如图像扭曲),需要ImageMagick的二进制文件。

入门

使用composer安装库

composer require jackal/image-merge

用法

最小示例


$imageMerge = new ImageMerge();
$imageBuilder = $imageMerge->getBuilder('/path/to/my/file.png'); #or URL, or resource, or binary content

$imageBuilder->resize(620,350)
$imageBuilder->rotate(90);

直接将图像内容输出到输出

[...]
echo $imageBuilder->getImage()->toPNG()->getContent();  

保存图像到路径

[...]
$builder->getImage()->toPNG('/path/to/the/image.png');

获取图像响应对象(与Symgony项目兼容)

[...]
return $imageBuilder->getImage()->toPNG()

调整大小

至少需要一个参数。如果只传递一个参数,将保持图像的纵横比进行缩放

$imageBuilder->resize(620,null);
#or
$imageBuilder->resize(null,200);

如果传递两个参数,可以拉伸图像

$imageBuilder->resize(400,200);

缩略图

类似于 Resize,但如果纵横比不受尊重,将裁剪图像(使用 cropCenter

$imageBuilder->thumbnail(400,400);

旋转

逆时针旋转图像

$imageBuilder->rotate(180);

对于特定的角度(30、45等),将在空白区域创建空白区域以填充空白区域

灰度

向图像添加灰度滤镜

$imageBuilder->grayScale();

亮度

调整图像的亮度

$imageBuilder->brightness(10);

模糊

在图像上添加模糊效果

$imageBuilder->blur(20);

像素化

在图像上添加“像素”效果

$imageBuilder->pixelate(20);

cropcropCenter

裁剪 根据指定的 xy 坐标以及输出尺寸裁剪图像

$point_x = 10,
$point_y = 15;
$width = 50,
$height = 50;
$imageBuilder->crop($point_x,$point_y,$width,$height);

根据输出图像的宽度和高度在图像中心裁剪

$width = 50,
$height = 50;
$imageBuilder->cropCenter($point_x,$point_y,$width,$height);

边框

向图像添加边框(填充矩形内部)

$stroke = 20;
$colorHex = '3399ff';
$builder->border($stroke,$colorHex);

可能在未来更改的实验性功能

addText

在图像内部添加文本

$text = new Jackal\ImageMerge\Model\Text\Text('this is the text', Font::arial(), 12, new Color('ABCDEF'));
$builder->addText($text, 10, 20);

addSquare

在图像上添加一个(颜色填充)的方块

$builder->addSquare(10, 10, 20, 20, 'ABCDEF');

===========================================================================

作者

  • Luca Giacalone(别名JackalOne)

许可证

本项目受MIT许可证许可