А GD :: imagejpeg () лучшая альтернатива? - PullRequest
2 голосов
/ 28 февраля 2011

есть ли лучшая функция, чем библиотека GD imagejpeg?

У меня возникли проблемы с качеством (даже при использовании 85 в качестве аргумента качества)

Мне нужно загрузить изображение (это может быть png, jpg, gif и т. Д.), Конвертировать его в jpg с помощью этой функции, а затем загрузить их на мой веб-сайт (в данном случае это БД, но это не так)

В настоящее время используется imagecreatefromstring, а затем imagejpeg качество просто ужасное, а иногда размер увеличивается.

Любая альтернатива php этому ужасному Б-гу (который вы проверили ..)?

Спасибо

Ответы [ 3 ]

1 голос
/ 28 февраля 2011

JPG-фильтр GD действительно не самый лучший с точки зрения сжатия и качества изображения.

Для фотографий с очень мелкими деталями рассмотрите возможность использования исключительно высокого качества, например 95 или даже 99.

В качестве альтернативы, как предполагает @ v0idnull, ImageMagick стоит того, чтобы его снять.* Имейте в виду, что есть виды изображений, которые никогда не будут хорошо выглядеть в JPG - например, векторные иллюстрации.JPG лучше всего подходит для фотографий и других изображений с большим количеством цветовых вариаций и несколькими точками одинакового цвета.

1 голос
/ 28 февраля 2011

Я лично предпочитаю ImageMagick, а не GD. Он делает больше и делает это быстрее: http://ca2.php.net/imagick - он требует установки ImageMagick, но оно того стоит, если вы спросите меня.

0 голосов
/ 28 февраля 2011

Вы включили чересстрочную развертку? http://www.php.net/manual/en/function.imageinterlace.php Возможно, вы захотите изучить передискретизацию изображения перед его сохранением.

Если вы полны решимости отойти от GD, вы можете посмотреть на расширения PECL для imagemagick (http://php.net/manual/en/book.imagick.php). Немного больше проблем, чем в GD, поскольку он не встроен в php, но может быть тем, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...