@eugene159

Почему фон у картинки обрезается только с одной стороны?

Есть такой код:
$imagejpeg = imagecreatefromjpeg("test.jpg");
$imagejpeg = imagecropauto($imagejpeg, IMG_CROP_WHITE);

header('Content-Type: image/jpeg');
echo imagejpeg($imagejpeg);

Прикладываю картинку test.jpg. И результат скрипта. Почему-то у нее обрезается фон только с правой стороны. Я пробовал немного убрать у нее границы через imagecrop (на 10px ширину и высоту) и применить функцию imagecropauto - не помогло. Я пробовал после применения imagecropauto повернуть картинку через imagerotate и снова применить imagecropauto - не помогло. Почему не работает? Как обрезать фон у картинки?

Открывайте картинки в новой вкладке (в хроме при просмотре jpg черный фон), т.к. на toster белый фон и у картинки белый фон. Не видно, что обрезалось, а что - нет.

До применения скрипта:
5f8622a1bd117110140694.jpeg

После применения скрипта:
5f8622ba149ee315705638.jpeg
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 1
$imagejpeg = imagecreatefromjpeg(__DIR__ . '/test.jpg');
$imagejpeg = imagecropauto($imagejpeg, IMG_CROP_THRESHOLD, 1, 16777215);

header('Content-Type: image/jpeg');
echo imagejpeg($imagejpeg);


Результат:
5f863deee976e724185829.jpeg
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы