裁剪是在图像的左侧完成的

Cropping is done to the left side of image

我正在使用裁剪代码

$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);

但它被裁剪在图像的左侧而不是中间。

请提出建议。

$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').