6

Я хотел попробовать zopfli, так как у меня есть статические файлы .png, которые я использую на веб-сайте.

Я вижу, как я могу создавать .gz и .deflate-файлы. Но как я могу создать PNG, который может отображаться в FF, Chrome и Co?

zopfli --i1000 _385.png

Результирующий .gz-файл примерно на 4% меньше, чем созданный с помощью pngCrush (который был примерно на 2% меньше оригинала).

2 ответа2

7

Zopfli не может обрабатывать PNG напрямую.

Но вы можете использовать ehoeks-zopfli-png:

zopfli --png --i1000 logo.png

Вам придется скомпилировать это:

git clone https://code.google.com/r/ehoeks-zopfli-png
cd ehoeks-zopfli-png/
make
./zopfli --png --i1000 logo.png

Обратите внимание, что это будет повторное сжатие только с использованием алгоритма DEFLATE, вы должны сначала оптимизировать его, используя другие инструменты (OptiPNG, pngout и т.д.) И другие методы (здесь немного не по теме, но проверьте pngquant для интеллектуального сжатия PNG с потерями) )

После сжатия вы все еще можете оптимизировать его, используя такие инструменты, как DeflOpt и defluff, но, насколько я знаю, это сэкономит только несколько байтов.

Другое решение, только для окон, - это PNGZopli, включенный в ScriptPNG вместе с другими инструментами. И есть также optipng-zopfli (optipng плюс zopfli), но я еще не пробовал.

Обновление: добавлена поддержка PNG в zopfli

3

Пока вы ждете инструментов для его интеграции, в проекте advancecomp есть поддержка zopfli, которая доступна в репозиториях Ubuntu и Homebrew. Он предоставляет различные инструменты сжатия, которые не зависят от источника проекта MAME, но основным из них является advdef который может сжимать сжатые области файлов PNG. Эффективный рабочий процесс заключается в передаче изображений через оптимизатор PNG, такой как optipng (для работы с аспектами, специфичными для PNG), а затем через advdef, например:

optipng -quiet -o2 -nb mypic.png && advdef -z -4 mypic.png

опция -4 говорит ему использовать «безумные» уровни сжатия, т.е. zopfli. Проект также включает в себя advpng , но он не так хорош, как optipng, поэтому вам лучше использовать advdef сам по себе.

Довольно исчерпывающее сравнение оптимизаторов PNG и рекомпрессоров можно найти здесь. Обидно, что TruePNG только для Windows, а не с открытым исходным кодом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .