Yii2扩展yii2-imagine实现图片的裁剪加水印缩略图等

  •   
  • 11347
  • PHP
  • 0
  • super_dodo
  • 2017/05/03

Yii2使用Extension扩展yii2-imagine实现图片的裁剪加水印缩略图等

在一些后台需要处理图片的情况下,这个时候需要对图片进行一系列的图片裁剪crop 缩略图thumbnail 水印watermark 加文字text(可引入特殊字体库)等的操作。这个时候Yii2强大的社区提供了优秀的扩展yii2-imagine。简便易行且功能强悍。

text-photo

安装这个扩展的方法如下

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yiisoft/yii2-imagine "*"

or add

"yiisoft/yii2-imagine": "*"

to the require section of your composer.json and run:

php composer.phar update

使用的方法和Demo如下,更多功能请各位自行探索。

use Yii;
use yii\imagine\Image;

class DodoController extends Controller{


	//和图片处理相关的方法
	public function actionImg(){

        //生成一个缩略图
        Image::thumbnail('@webroot/img/lbj_18.jpg', 200, 200)
            ->save(Yii::getAlias('@runtime/thumb-test-image.jpg'), ['quality' => 80]);


        //裁剪一张图片并存储
        Image::crop(Yii::getAlias('@webroot/img/lbj_18.jpg'),300,300,[300,300])
            ->save(Yii::getAlias('@runtime/crop-photo.jpg'), ['quality' => 80]);


        // 给一张图片加水印
        Image::watermark(Yii::getAlias('@webroot/img/max.jpg'), Yii::getAlias('@webroot/img/min.png'), [100, 100])
            ->save(Yii::getAlias('@runtime/watermark-photo.jpg'), ['quality' => 100]);


        //给图片加文字
        $textOpt = ['color'=>'f00','size'=>'40','angle'=>5];
        $fontFile = Yii::getAlias('@webroot/font/FZQTJW.ttf');
        Image::text(Yii::getAlias('@webroot/img/max.jpg'), '这是一张图片的水印', $fontFile, [300, 450], $textOpt)
            ->save(Yii::getAlias('@runtime/text-photo.jpg'), ['quality' => 100]);

    }

}


官方使用说明:http://www.yiiframework.com/wiki/757/how-to-use-imagine-crop-thumb-effects-for-images-on-yii2

如果说人生是一场修行,那我们所要做的,就是找一方明净天地,执手相依,笑看风云,如此才不辜负一世的美好辰光。