【问题标题】:Imagine Extension for Yii 2想象一下 Yii 2 的扩展
【发布时间】:2015-01-14 05:44:09
【问题描述】:

对于 Yii 框架 2.0,我想使用适用于 Yii 2 的 Imagine Extension。按照文档,我首先运行以下命令行。

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

运行上面的命令行后,我可以看到imagine包进入了vendor目录。在我的views/site/index.php中,我包含了以下代码sn-p。

use yii\imagine\Image;

// generate a thumbnail image
Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
->save(Yii::getAlias('@runtime/thumb-test-image.jpg'), ['quality' => 50]);

结果如下:

�PNG  IHDRxx9d6�  pHYs���+ IDATx���y�eW}��9w�o�o��ZJ��6��1`޺c��D�n�����L�8㈞G��c{�����r�ƀ$���R{UVV��[�{w?g�x�/�ʪJUI ;������=��l�������#.\�����Bl'��� @�ul� IL�@)����-�"MS<�C���+����Z��븫0�R��������Ã>���?����q�|�;ߡ�n�c�v������a Dg4'IJ��W�`���Įr��a}�V�^)�վ�~���l6{�|

没有显示图像。我不知道我错过了什么,图像路径是正确的。有谁知道如何解决它?谢谢

【问题讨论】:

  • 将该二进制字符串保存到具有有效扩展名的文件中
  • 您能否再解释一下如何将该二进制字符串保存到具有有效扩展名的文件中?我认为它现在使用 save() 方法以名称“@runtime/thumb-test-image.jpg”保存。
  • 您如何查看图像?如果你想在浏览器中显示它,你需要发送适当的标题。

标签: php image yii2


【解决方案1】:

试试这个

Image::thumbnail(Yii::getAlias('@webroot').'/img/test-image.jpg', 120, 120)->save(Yii::getAlias('@runtime').'/thumb-test-image.jpg');

【讨论】:

    【解决方案2】:

    安装 yii2-imagine 包后由 composer 创建缩略图

    php composer.phar 需要 --prefer-dist yiisoft/yii2-imagine

    您需要完整路径来保存上传的图片和缩略图,因此我们使用完整路径,例如 Yii::$app->basePath."/web/img/testimg.jpg"。

    您需要在 siteController.php 的顶部添加

    添加语法:使用 yii\imagine\Image;

    然后试试这个

    Image::thumbnail(Yii::$app->basePath."/web/img/testimg.jpg"., 120, 120)->save(Yii::$app->basePath."/web/img/thumb_testimg.jpg", ['quality' => 80]);
    

    【讨论】:

    • 这可能是一个有效的答案,但如果你解释了你的代码在做什么,这将是一个更好的答案(你可以edit你的答案)。
    【解决方案3】:

    这是生成拇指和尊重比率的正确方法:

    use Imagine\Image\Box;
    use yii\imagine\Image;
    
    Image::getImagine()
                    ->open($file)
                    ->thumbnail(new Box($height, $width))
                    ->save($file);
    

    【讨论】:

      猜你喜欢
      • 2015-07-21
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      相关资源
      最近更新 更多