【问题标题】:Generate a image thumbnail without stretching it with ImageMagick 6.2.8使用 ImageMagick 6.2.8 生成图像缩略图而不拉伸它
【发布时间】:2014-03-07 12:30:24
【问题描述】:

支持填充区域标志('^' 标志)IM v6.3.8-3
但我客户的生产服务器版本为 ImageMagick 6.2.8
现在在我的本地服务器上,我使用这个命令来生成缩略图,它工作正常:

convert image.jpg -resize "280x210^" -gravity Center -crop "280x210+0+0" thumbnail.jpg

由于我的客户端的生产服务器不支持 '^' 标志我如何不使用它来生成缩略图? (或者可能在 PHP 或 BASH 中手动计算)
我应该使用 -extent,它会拉伸图像吗?
我还阅读了 this 并且我不确定 ^ 标志是否用于不让图像拉伸,因为这就是我想要的,生成缩略图而不拉伸它。
注意:我在服务器上没有 root 访问权限。我使用 PHP 和 BASH 来运行命令。

编辑:
在调整大小和裁剪时,我也不想要任何其他背景颜色。

【问题讨论】:

    标签: php imagick


    【解决方案1】:

    试试

    convert image.jpg -background black -resize 280 
    -gravity center -crop 280x210+0+0 -extent 280x210 image.c.jpg
    

    【讨论】:

      【解决方案2】:

      我找到了解决方案
      这是我使用的 PHP 函数:

      function imgconvert($in,$out,$size){
        $size_arr=explode('x',$size);
        $resize=( ($size_arr[0]/$size_arr[1]) > 1.775 ? $size_arr[0].'x':'x'.$size_arr[1]);
        system("convert \"$in\" -resize $resize -gravity Center -crop \"$size+0+0\" \"$out\"");
      }
      


      似乎如果宽度/高度大于 1.775,我应该使用 widthX 作为调整大小值,如果不是,我应该使用 Xheight。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-04
        • 2010-12-13
        • 2011-02-07
        • 1970-01-01
        • 1970-01-01
        • 2022-06-21
        • 2014-11-26
        • 2012-12-22
        相关资源
        最近更新 更多