php发展

首页 » 常识 » 诊断 » interventionimage操
TUhjnbcbe - 2022/12/5 20:48:00
北京中医痤疮医院 https://m-mip.39.net/disease/mip_9084534.html

InterventionImage是一个开源的PHP图像处理和操作库。它提供了一个更简单也更优雅的方式来创建/编辑/组合图像,并且支持最常见的两个图像处理库GDLibrary和Imagick。

它的让PHP处理图片的代码,变得更简单,并且更有可读性,更容易理解.无论是我们希望创建图像缩略图,增加水印,给大图片转码压缩,他都可以让我们的代码更少,更具有可读性.

简单的代码

例如:

只要四行代码,我们就实现了对图片的缩放和增加水印.

//打开图片img=Image::make(public/foo.jpg);//对图片缩放img-resize(,);//增加水印img-insert(public/watermark.png);//保存图片img-save(public/bar.jpg);

由于它支持链式操作,所以我们可以将四行代码写成一行:

img=Image::make(public/foo.jpg)-resize(,)-insert(public/watermark.png);

对于超大图片,比如超过像素的图片,GD库可能执行不了,这时只要配置一下,使用imagick库即可,代码不需要任何改动.

Image::configure([driver=imagick]);

多种文件类型和打开方式

根据扩展的不同,支持的扩展格式如下:

并且支持多种图片资源的打开方式:

string-文件路径.

string-文件URL链接(需要开启allow_url_fopen).

string-图片的二进制数据.

string-图片的Data-URL数据.

string-图片文件的Base64数据.

resource-GD资源实例.(使用GD)

object-Imagick资源实例(使用Imagick)

object-Intervention\Image\Image资源实例

object-SplFileInfo资源实例(包括laravel的上传文件对象或ThinkPHP的上传文件对象

方便的设置颜色

更让小编心动的是,当我们需要设置颜色时,他支持多种设置方式,非常方便:

//用数组的方式img-fill([,0,0]);//用数组的方式,设置透明度img-fill([,,,0.5]);//简写十六进制img-fill(#ccc);//标准十六进制img-fill(#cccccc);//不要前缀的十六进制img-fill(cccccc);//rgb写法img-fill(rgb(,0,0));//使用透明度的rgba写法img-fill(rgba(0,0,0,0.5));

URL动态参数处理

最终效果像这样:

1
查看完整版本: interventionimage操