Imagine库
Imagine是用于操作图片的OOP库。它可以让你在GD、Imagic和Gmagic PHP扩展的帮助下,对多种格式的图片进行裁剪、缩放以及执行其它操作。Yii2-Imagine是队这个库的轻量静态封装。
准备
- 按照官方指南http://www.yiiframework.com/doc-2.0/guide-start-installation.html的描述,使用Composer包管理器创建一个新的应用。
- 使用如下命令安装扩展:
composer require yiisoft/yii2-imagine
如何做...
在你的项目中,你可以以两种方式使用扩展:
- 作为工厂使用
- 使用内部方法
作为工厂使用
你可以使用Imagine
库类的一个实例:
$imagine = new Imagine\Gd\Imagine();
// or
$imagine = new Imagine\Imagick\Imagine();
// or
$imagine = new Imagine\Gmagick\Imagine();
但是,这依赖于你系统中已存在的PHP扩展。你可以使用getImagine()
方法:
$imagine = \yii\imagine\Image::getImagine();
使用内部方法
你可以使用corp()
、thumbnail()
、watermark()
、text()
、frame()
方法用于常见的高级操作:
<?php
use yii\imagine\Image;
Image::crop('path/to/image.jpg', 100, 100, ManipulatorInterface::THUMBNAIL_OUTBOUND)
->save('path/to/destination/image.jpg', ['quality' => 90]);
在\yii\imagine\BaseImage
的源代码中查看所有支持的方法以及细节。
工作原理...
这个扩展准备用户数据,创建一个原始的Imagine对象,并调用对应的方法。所有的方法都会返回原始的iamge对象。你可以继续操作这个图像,或者将结果保存到你的磁盘上。
参考
- 欲了解更多关于这个扩展的信息,参考如下地址:
- 欲了解更多关于原始库的信息,参考http://imagine.readthedocs.org/en/latest/。