从 X 和 Y 位置裁剪和调整图像大小

Crop and Resize image from X and Y Position

我正在尝试裁剪然后调整 PHP v5.4 上的图像,我已阅读这些资源

我的代码基于 Cropping image in PHP 的答案(这些图像之间的尺寸差异很大)。

我想将此图片的大小从 1151x768 调整为 200x82 并裁剪 x: 0, y: 686

处的背景部分

我不想在这个问题中用整个 600 行来膨胀问题,$output 指的是 setwidth1200nzpioneerthursday08398 图片

<?php

$output = imagecreatefromjpeg("setwidth1200nzpioneerthursday08398.jpg");

$source_crop_image = imagecreatetruecolor(200, 82);

if(!is_resource($source_crop_image)) {
    return $source_crop_image;
}


imagealphablending($output, true);
$source_copy_result = imagecopy($output, $source_crop_image, 0, 0, 0, 686, 200, 82);
$source_copy_result = (bool) $source_copy_result;

if(!$source_copy_result) {
    return false;
}

$source_image_result = imagejpeg($source_crop_image, "images/mynewimage.jpg");
$source_image_result = (bool) $source_image_result;


?>

我的形象setwidth1200nzpioneerthursday08398

理想情况下,我试图让它裁剪红色部分,同时保持比例不变,然后将大小调整为 200x82

我的结果

我的预期结果(我使用 GIMP 创建了这个图像)。

我不知道为什么我生成的图像是黑框..

您的 imagecopy() 参数顺序错误。

右边的是$source_copy_result = imagecopy($source_crop_image, $output, 0, 0, 0, 686, 200, 82);