php 图像编程库,20171207 - 图像处理库(intervention/image)

intervention/image 基本信息

Intervention Image is an open source PHP image handling and manipulation library. It provides an easier and expressive way to create, edit, and compose images.

(它是一款开源的PHP类库,用更简单的方法来创建、编辑和合成图像)

基于PHP语言的图像处理库,在github上 fork 6000+,在图像处理这块,算是排名第一。

图像处理,处理什么?裁剪

旋转

水印(图/文)

拼合

马赛克

透明度

还有一些更为专业的图像处理需求,就不一一列举了,类库提供了几十个API用来处理这些问题。

下载地址

composer: composer require intervention/image

运行环境

最新版本 2.0+ 需要 PHP >= 5.4,并且安装了 GD2.0 或 Imagick(>=6.5.7),GD库多数情况下默认已安装。

开发文档

为什么又是老外写的,中国程序员加油!

声明

所有文章均为1024编程实验室(www.sodevel.com)原创,任何形式的转载都必须征得本站同意。

作者联系方式,微信:pmtt9121,QQ 983430207

图像处理的根本流程

我们可以对图像进行各种操作,但是究其根本,主要步骤有3个:打开图像

处理图像

保存或输出图像

看一个最简单的例子// 按需加载类库文件,composer之后就有这个文件

include('vendor/autoload.php');

// use 图像处理类

use Intervention\Image\ImageManagerStatic as Image;

// 打开图像

$img = Image::make('20171207/a.jpg');

// 处理图像,按1000*1000裁剪

$img->resize(1000,1000);

// 输出图像到浏览器

$img->response('jpg',100);

使用类库include('vendor/autoload.php');

use Intervention\Image\ImageManagerStatic as Image;

注意:ImageManagerStatic 是通过静态方法使用的“::”,如果想new 的话,需要use ImageManager类。

打开图像

以下几种方法,均可以得到一个Image对象,后续所有操作均基于此。

从文件读取图像$img = Image::make('20171207/a.jpg');

它不仅仅可以读取一个文件路径,还包含这些:网址(需开启allow_url_fopen)

二进制的图像数据

URL编码的图像

base64编码的图像

gd库的资源句柄

imagick 对象

intervention 对象

splFileInfo 对象

创建一个新图像$img = Image::canvas(800, 600, '#ccc');

接收一个上传文件$img = Image::make($_FILES['image']['tmp_name']);

(保存/输出)图像

为什么不先写处理? 因为处理要写的有点多,放在最后吧。

另存为

$img->save(‘新图片文件名’);

立刻输出到浏览器

echo $img->response(‘图像后缀比如jpg’,’图像质量,最高100’);

处理图像

以下代码均略过打开、保存的过程,仅提供处理方法。

术语说明:w 代表width,也就是宽度

h 代表Height,也就是高度

c 代表 callback 代表回调函数

比例,表示宽高比,宽高比改变会导致图像走形

p 表示position 代表图像的位置

图像大小resize(w,w,h, $c) 缩放,宽高比错误会丢失比例

widen(w,w,c) 按比例增加宽度

heighten(h,h,c) 按比例增加高度

fit(w,w,h,c,c,p) 裁剪缩放,保持比例,切除多余部分

resizeCanvas(w,w,h,…) 按比例缩放,多余部分用纯色背景填充

crop(w,w,h,x,x,y) 以XY作为起点,裁剪wh大小的图像

图像属性

包括伽玛值、亮度、对比度、色彩、灰度、反转等,大家自行阅读文档。

图像效果

包括过滤、像素画、旋转、马赛克。

画图

鞋子、像素、画线、长方形、圆圈等

图像信息

包括宽高、exif、mime等。

总结

作为一款开源类库,必须涵盖了所有常用操作,在此基础上尽量简化代码、提高处理效率,就是良心类库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值