的尺寸這是PHP: if more than ..px resize toPHP:一個重新縮放圖像
一個後續問題正如你可以看到它會調整,如果:
if($width > 604 && $height > 453) {
能正常工作既是寬度和高度都很大。
但是,如果$ width超過604並且$ height小於453(例如604x300)m,那麼這將跳過調整大小過程。相反的是相同的(寬度在下,高度已經結束)。另外,如果圖片上的尺寸是500x900,並且尺寸被調整,它會變得非常難看。任何偉大的修復?
請問我該如何處理這個問題的好建議?
編輯:
$rel_difference = array('width'=>0, 'height'=>0);
if($width > 604 || $height > 453) {
if($width > 604) $rel_difference['width'] = ($width-604)/604;
if($height > 453) $rel_difference['height'] = ($height-453)/453;
asort($rel_difference);
$newwidth = $width/(1+end($rel_difference));
$newheight = $height/(1+end($rel_difference));
$newwidth = round($newwidth);
$newheight = round($newheight);
$jpeg_quality = 90;
$src = "images/users/status/".$org_name;
$path_thumbs = "images/users/status/";
$thumb_path = $path_thumbs . '/' . $newfilename;
switch(exif_imagetype($move_me)) {
case IMAGETYPE_GIF:
$img_r = imagecreatefromgif($src);
break;
case IMAGETYPE_JPEG:
$img_r = imagecreatefromjpeg($src);
break;
case IMAGETYPE_PNG:
$img_r = imagecreatefrompng($src);
break;
default:
echo "{";
echo "error: 'Not a image!'";
echo "}";
exit(0);
break;
}
$dst_r = ImageCreateTrueColor($newwidth, $newheight);
imagecopyresampled($dst_r, $img_r, 0, 0, 0, 0, $newwidth , $newheight, $width, $height);
imagejpeg($dst_r,$thumb_path,$jpeg_quality);
unlink($move_me);
}
@PeeHaa謝謝你的回答。這到底是什麼?我不明白你爲什麼分裂等等。也許你誤解了這個問題,或者你可以進一步解釋一下,謝謝! – Karem 2011-01-09 16:03:13