我正在使用代码进行裁剪
$filename = "thimg.jpg";
// Get dimensions of the coriginal image
list($width, $height) = getimagesize($filename);
// Resample the image
$canvas = imagecreatetruecolor('759', '599');
$current_image = imagecreatefromjpeg($filename);
imagecopy($canvas, $current_image, 0, 0, $width/8, $height/8, '759', '599');
imagejpeg($canvas, $filename.'_cropped.jpg', 100);
chmod($filename.'_cropped.jpg', 0644);
unlink($filename);
但它在图像的左侧裁剪而不是在中间。
请提供建议。
答案 0 :(得分:1)
$width/8
和$height/8
的结果对于居中作物不正确。
您需要计算:
(original_width÷2) - (target_width÷2)
和
(original_height÷2) - (target_height÷2)
在您的具体案例中,如下所示:
imagecopy($canvas, $current_image, 0, 0, ($width/2)-(759/2), ($height/2)-(599/2), 759, 599);
另请注意,您应将大小值传递为整数(759, 599)
,而不是字符串('759', '599')
。