yii2-imagine的拓展和imagine插件是分开的 , yii2只提供了拓展 , 刚好用到yii2 , 搞了一天终于解决了 , 分享一下心得给大家,希望大家少走点弯路。


1、  首先从官网下载yii2-imagine的拓展

下载地址:https://github.com/yiisoft/yii2-imagine

下载包名称:yii2-imagine-master

2、  然后再下载imagine的插件包

下载地址:https://github.com/avalanche123/Imagine/releases

下载包名称:Imagine-0.5.0.zip

       在阅读了yii2-imagine的代码后,我发觉v0.5.0的版本完全兼容。所以大家下载v0.5.0的版本就可以了

 

3、  在项目yii2vendor\yiisoft\yii2目录下创建一个imagine目录

a)         解压yii2-imagine-master BaseImage.php还有Image.php复制到imagine目录中

b)        解压Imagine-0.5.0.zip ,将Imagine-0.5.0\lib\Imagine目录 复制到imagine目录下

c)         vendor\yiisoft\yii2\imagine下的所有页面,含有

namespace Imagine\

替换成

namespace yii\imagine\Imagine\

 

              含有

              use Imagine\

              替换成

              use yii\imagine\Imagine\

d)        修改vendor\yiisoft\yii2\imagine\BaseImage.php

89行:return new \Imagine\Gmagick\Imagine();

改成 return new Imagine\Gmagick\Imagine();

 

94行:return new \Imagine\Imagick\Imagine();

改成 return new Imagine\Imagick\Imagine();

 

99行:return new \Imagine\Gd\Imagine();

改成 return new Imagine\Gd\Imagine();

 

e)         修改vendor\yiisoft\yii2\imagine\Imagine\Image\Box.php

在头部追加

use yii\imagine\Imagine\Image\BoxInterface;

 

4、  大功告成,测试

<?php

        use yii\imagine\Image;

    //图片路径请根据自己的项目的位置调整

        Image::frame('path/to/image.jpg', 5, '666', 0)

    ->rotate(-8)

    ->save('path/to/destination/image.jpg', ['quality' => 50]);

?>

版权声明:未经博主允许不得转载。http://smister.com/post-29.html