Не удалось обрезать изображение для эскиза - PullRequest
0 голосов
/ 29 июня 2019

У меня есть изображение, как показано ниже:

image1

Я пытаюсь создать из него эскиз, который должен отображаться, как показано ниже. Как видите, второе изображение намного меньше, но оно не только было изменено, основная часть изображения была немного увеличена, чтобы подчеркнуть кадр.

image2

Я пробовал несколько решений по изменению размера / обрезке изображения, найденных в других вопросах здесь, но они, кажется, только изменяют размер изображения и фактически не обрезают нужную мне часть.

Я пробовал несколько функций при использовании imagefromjpeg () и т. Д., Но потерпел неудачу при этом.

Пример того, что я пробовал:

$target_width  = 340;
$target_height = 270;
$new_img = @imagecreatetruecolor($target_width, $target_height);

$width_ratio  = $target_width  / $img_width;
$height_ratio = $target_height / $img_height;
if($width_ratio > $height_ratio) {
  $resized_width  = $target_width;
  $resized_height = $img_height * $width_ratio;
} else {
  $resized_height = $target_height;
  $resized_width  = $img_width * $height_ratio;
}

$resized_width  = round($resized_width);
$resized_height = round($resized_height);


$offset_width  = round(($target_width  - $resized_width) / 2);
$offset_height = round(($target_height - $resized_height) / 2);

$imgCopyRes = @imagecopyresampled($new_img, $src_img, $offset_width, $offset_height, 0, 0, $resized_width, $resized_height, $img_width, $img_height);
...