$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 px。 上面的功能工作正常,但有一個問題。如您所見,如果圖像寬度大於高度,則腳本首先會使圖像成爲128像素高度。當寬度和高度之間有小的差異時,會出現問題。例如,如果圖像尺寸是387x310像素,則腳本將使用語句如果($ width> $ height)並且將使圖像的像素高度爲128像素。問題是,在同一時間圖像寬度將被調整爲160像素。但是在調整大小後我需要170個像素寬度。調整大小時的圖像尺寸計算(php + imagemagick)
我需要知道將圖像寬度調整爲128像素高度後圖像的寬度。我需要這樣的事情:
if($width > $height && $width_after_resizing > 127) {
} else {
}
是否有任何方式如何在裁剪之前計算圖像尺寸?謝謝。
Twelve47,謝謝,但它沒有幫助。調整387x310像素圖像時,結果爲160x128,而不是170x128。因此,該腳本首先將圖像調整爲128像素高度。 :( – guanche 2011-04-08 12:09:00
解決了這個問題,這個工作原理:if($ width/$ size1> $ height/$ size2){}。非常感謝你,Twelve47! – guanche 2011-04-09 08:55:36
不用擔心,我現在換成size1和size2 。 – Twelve47 2011-04-09 08:57:46