Php 使用ImageMagick 6.2.8生成图像缩略图而不拉伸它

Php 使用ImageMagick 6.2.8生成图像缩略图而不拉伸它,php,imagick,Php,Imagick,填充区标志(“^”标志)是支持IMV6.3.8-3的 现在,在我的本地服务器上,我使用这个命令生成缩略图,效果很好: convert image.jpg -resize "280x210^" -gravity Center -crop "280x210+0+0" thumbnail.jpg 由于我的客户机的生产服务器不支持“^”标志,我如何在不使用它的情况下生成缩略图?(或者在PHP或BASH中手动计算) 我应该使用-extent,它会拉伸图像吗? 我还读了,我不确定^flag是否用于不让图像

填充区标志(“^”标志)是支持IMV6.3.8-3的 现在,在我的本地服务器上,我使用这个命令生成缩略图,效果很好:

convert image.jpg -resize "280x210^" -gravity Center -crop "280x210+0+0" thumbnail.jpg
由于我的客户机的生产服务器不支持“^”标志,我如何在不使用它的情况下生成缩略图?(或者在PHP或BASH中手动计算)
我应该使用-extent,它会拉伸图像吗?
我还读了,我不确定^flag是否用于不让图像拉伸,因为这正是我想要的,生成一个缩略图而不拉伸它。
注意:我在服务器上没有root访问权限。我使用PHP和BASH来运行这些命令

编辑:
我也不希望在调整大小和裁剪时使用任何其他背景色。

试试看

convert image.jpg -background black -resize 280 
-gravity center -crop 280x210+0+0 -extent 280x210 image.c.jpg
我找到了一个解决办法
这是我使用的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。