yii 图片处理拓展,yii2-imagine 压缩,剪切,旋转,水印

PHP 投稿 66000 0 评论

yii 图片处理拓展,yii2-imagine 压缩,剪切,旋转,水印

文章主要介绍了Yii 使用yii2-imagine拓展实现图像处理功能,需要的朋友可以参考下。

Imagine 是一个面向对象的 PHP 类库用于图片操作。这个类库能够处理一些常用到的操作如:调整大小、裁剪、应用过滤器等。

其Color类库可用于对任意对定的颜色生成RGB值。并且还提供一些方法来绘制图形如:圆弧,椭圆,线,片等。

此外,还可以利用一个灵活的字体类来加载任意字体文件,然后将文字插入到图片中。

Imagine 是一个会经常更新的类库,将来还会实现:图表生成、圆角过滤器等功能。

Yii2 安装 Imagine

Imagine 的手动下载和安装这里就不做介绍了,可自行百度。这里介绍 Yii2 的 Composer 方式来安装 Imageine。

yii2-imagine 安装

composer require --prefer-dist yiisoft/yii2-imagine

yii2-imagine 使用

引入

use yii\imagine\Image;

实例化

$imagine = new Image();

使用方法

yii2-imagine 压缩图片

//压缩
Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::getAlias('@webroot/img/thumb-test-image.jpg'), ['quality' => 100]);
echo Yii::getAlias('@webroot/img/thumb-test-image.jpg');
//参数说明:
$filename 文件的路径
$width 缩略图的宽
$height 缩略图的高
$mode 模式(默认THUMBNAIL_OUTBOUN)
    \Imagine\Image\ManipulatorInterface::THUMBNAIL_OUTBOUN 裁剪模式
    \Imagine\Image\ManipulatorInterface::THUMBNAIL_INSET 填充模式

yii2-imagine 裁剪图片

//剪切
$result =  Image::crop('@webroot/img/test-image.jpg', 200, 200,[100,100])->save(Yii::getAlias('@webroot/img/thumb-test-crop.jpg'));
//参数说明:
$filename 文件的路径
$width 裁剪的宽度
$height 裁剪的高度
$start 裁剪的x,y 点

yii2-imagine 旋转图片

//旋转
Image::frame('@webroot/img/test-image.jpg', 5, '666', 0)->rotate(-8)->save(Yii::getAlias('@webroot/img/thumb-test-frame.jpg'), ['quality' => 100]);

yii2-imagine 添加图片水印

//水印
Image::watermark('@webroot/img/test-image.jpg', '@webroot/img/watermark.jpg', [10,10])->save(Yii::getAlias('@webroot/img/thumb-test-watermark.jpg'), ['quality' => 100]);
//参数说明:
$filename 文件的路径
$watermarkFilename 水印图片
$start 裁剪点(x,y)

yii2-imagine 添加文字水印

//文字水印
Image::text('@webroot/img/test-image.jpg', 'hello world', '@webroot/img/symbol.ttf',[100,100],['color'=>'000000','size'=>50])->save(Yii::getAlias('@webroot/img/thumb-test-text.jpg'), ['quality' => 100]);

编程笔记 » yii 图片处理拓展,yii2-imagine 压缩,剪切,旋转,水印

赞同 (78) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽