【发布时间】:2011-04-15 12:13:45
【问题描述】:
$size1 = 170;
$size2 = 128;
if($width > $height){
exec("convert ".$startfile." -resize x".$size2." -quality 100 ".$resultfile);
} else {
exec("convert ".$startfile." -resize ".$size1." -quality 100 ".$resultfile);
}
exec("convert ".$resultfile." -gravity Center -crop ".$size1."x".$size2."+0+0 ".$resultfile);
需要帮助将图像调整为 170x128 像素。 上面的功能工作正常,但有一个问题。如您所见,如果图像宽度大于高度,脚本首先使图像高度为 128 像素。当宽度和高度之间的差异很小时,就会出现问题。
例如,如果图像尺寸为 387x310 像素,脚本将使用语句 if($width > $height) 并将图像高度设为 128 像素。问题是同时图像宽度将调整为 160 像素。但是调整大小后我需要 170 像素宽度。
我需要知道将其调整为 128 像素高度后的图像宽度。我需要这样的东西:
if($width > $height && $width_after_resizing > 127) {
} else {
}
有什么方法可以在裁剪之前计算图像尺寸?谢谢。
【问题讨论】:
标签: php imagemagick