Сжатие PNG с помощью волшебной палочки PHP - PullRequest
5 голосов
/ 22 июня 2009

Мне интересно, как правильно сжать изображение PNG.

Ситуация такова:

У меня изображение PNG сжато и уменьшено с помощью Irfanview для Windows. Это около 20 КБ. Когда программное обеспечение моего портала изменяет размер (используя magickwand 1.0.7) со значениями по умолчанию, оно составляет около 63 КБ (!).

Следующая попытка состояла в том, чтобы вызвать MagickSetImageDepth ($ this -> _ imageHandler, 8), что привело к размеру файла 34 КБ, что лучше, но все же больше, чем исходный файл (большего размера).

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

Любая подсказка будет принята с благодарностью!

Greetz, Соса

Ответы [ 2 ]

1 голос
/ 23 июня 2009

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

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

Возможно, оптимизация ваших PNG перед выполнением будет решением. В этом случае доступно много вариантов. Мне повезло с PNGGauntlet . Вы можете запустить пакетное задание в PNGGauntlet, и оно пропустит файлы, которые он увеличил бы, если они есть.

0 голосов
/ 23 июня 2009

Попробуйте этот инструмент от Yahoo - это здорово!

http://developer.yahoo.com/yslow/smushit/

...