填充区域标志('^'标志)是支持 IM v6.3.8-3
但我客户的生产服务器的版本为 ImageMagick 6.2.8 <登记/>
现在在我的本地服务器中,我使用此命令生成缩略图,它可以正常工作:
convert image.jpg -resize "280x210^" -gravity Center -crop "280x210+0+0" thumbnail.jpg
由于我的客户端的生产服务器不支持'^'flag ,如何在不使用缩略图的情况下生成缩略图? (或者可以用PHP或BASH手动计算)
我应该使用 -extent ,它是否会拉伸图像?
我还读了 this ,我不确定^ flag是不是让图像拉伸,因为这就是我想要的,生成缩略图而不拉伸它。
注意:我在服务器上没有root访问权限。我使用PHP和BASH来运行命令。
修改
调整大小和裁剪时我也不想要任何其他背景颜色。
答案 0 :(得分:0)
尝试
convert image.jpg -background black -resize 280
-gravity center -crop 280x210+0+0 -extent 280x210 image.c.jpg
答案 1 :(得分:0)
我找到了解决方案
这是我使用的 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。