Изменение размера изображения без Imagick и потери прозрачности - PullRequest
2 голосов
/ 17 октября 2011

Есть ли способ изменить размеры изображений с форматами: GIF, PNG, JP(E)G, не устанавливая дополнительные классы, такие как Imagick?

Самое главное, чтобы изображения не могли потерятьсяих прозрачность (PNG, GIF), а также в случае, если он анимирован, измените его размер, но без потери GIF анимации.

1 Ответ

1 голос
/ 17 октября 2011

php имеет расширение под названием GD, которое должно быть установлено

Ссылка на расширение GD

, что вы можете использовать. На странице выше приведено несколько примеров того, как именно вы хотите. Лично я не использовал его для анимированных изображений GIF, но для других форматов изображений. Однако одна вещь состоит в том, что изображения JPEG используют ЛОТ ОЗУ с этой библиотекой, потому что библиотека распаковывает изображение JPEG в его байтовый формат - по сути, делая его эквивалентным растровому изображению с диагональю 16,7 миллиона цветов.

Чтобы увидеть, загружено ли расширение, вы можете вызвать функцию extension_loaded('GD'), и оно вернет TRUE, если оно есть. Или вы можете набрать в командной строке php -m и увидеть все расширения там. php -m | grep -i gd должен это сделать.

Просто чтобы прояснить ситуацию, библиотека GD не очень эффективна, поэтому пересмотрите возможность использования расширения Imagick.

EDIT: Изменение размера образца изображения с использованием GD Extension

...