這是我的代碼,但我不知道爲什麼,但是當我上傳一個垂直圖像時,它會調整大小,並且我會在兩側獲得兩個黑色條紋。隨着寬大的圖像,它大部分時間運作良好,但有一些圖像我也得到黑色條紋。我該如何解決它?PHP crop高圖像
我的目的是裁剪每一個圖像,水平只是一個提示,以適應我的盒子,垂直我想裁剪所以寬度是相同的,他們沒有頂部和底部切。
$thumb_height = 200;
$thumb_width = 300;
$thumb = imagecreatetruecolor($thumb_width, $thumb_height);
if($width >= $height) {
// If image is wider than thumbnail (in aspect ratio sense)
$new_height = $thumb_height;
$new_width = $width/($height/$thumb_height);
} else {
// If the thumbnail is wider than the image
$new_width = $thumb_width;
$new_height = $height/($width/$thumb_width);
}
$output_filename_mid = 'uploads/'.IMG_L.$fileName;
imagecopyresampled($thumb,
$image,
0 - ($new_width - $thumb_width)/2, // Center the image horizontally
0 - ($new_height - $thumb_height)/2, // Center the image vertically
0, 0,
$new_width, $new_height,
$width, $height);
imagejpeg($thumb, $output_filename_mid, 85);
這是使用單元測試的最佳例子。 – Jacob 2011-03-21 05:38:59
@Jacob - 什麼是單元測試? – Francesco 2011-03-21 21:25:31
通過[單元測試](http://en.wikipedia.org/wiki/Unit_testing),您可以爲不同場景創建測試用例,讓您確信代碼能夠按預期工作。我會做一個返回x,y,寬度和高度的函數。然後,一旦你有他們使用GD功能。 – Jacob 2011-03-21 22:01:17