Pngcrush

Pngcrush

Последняя версия: 1.8
Скачали: 9

Pngcrush — консольная программа для оптимизации PNG-файлов. Она не редактирует изображение как графический редактор, не добавляет эффекты, не меняет композицию кадра и не показывает предпросмотр. Ее задача уже́: уменьшить размер PNG без визуальной потери качества, подобрать более удачное хранение данных внутри файла и при необходимости изменить служебные PNG-блоки.

Главная рабочая зона Pngcrush — командная строка. В Windows это Command Prompt или PowerShell, в Linux и BSD — терминал, в macOS — Unix-подобная консольная среда. Команда состоит из имени программы, параметров, входного файла и выходного файла. Такой подход требует внимательности, зато хорошо подходит для автоматизации: одну и ту же команду легко повторять для сотен PNG-изображений, подключать к сборке сайта или использовать в скриптах подготовки графики. Pngcrush работает с IDAT-потоком PNG, перебирает уровни сжатия и PNG-фильтры, а также умеет удалять и добавлять ancillary chunks, включая gAMA, tRNS, iCCP и текстовые блоки.

Pngcrush в окне терминала с примером запуска

Для пользователя, которому нужна кнопка Open, окно предпросмотра и визуальная настройка экспорта, Pngcrush выглядит непривычно. В ней нет панели инструментов, вкладок, слайдера качества и диалога сохранения. Вместо этого используются параметры -brute, -reduce, -rem, -keep, -ow, -n, -v, -d, -e, -l, -f, -m и другие элементы командной строки. Это не недостаток самой программы, а ее формат: Pngcrush создавалась как утилита, которую можно запускать вручную, из shell-скрипта, batch-файла, PowerShell-сценария или другого инструмента обработки изображений.

Для каких задач используется Pngcrush

Pngcrush нужна там, где исходное изображение уже готово, а пользователю требуется уменьшить вес PNG, не меняя видимую картинку. Типичный файл PNG хранит данные изображения в одном или нескольких IDAT-блоках. От того, как именно применены фильтры строк и параметры Deflate-сжатия, зависит итоговый размер. Pngcrush пробует разные сочетания фильтрации и сжатия, сравнивает размер получившегося IDAT-потока и выбирает более компактный вариант. Все стандартные PNG-фильтры и уровни сжатия, которые перебирает программа, относятся к сжатию без потерь: пиксельные данные после декодирования остаются теми же.

Программа особенно полезна в таких сценариях:

  • подготовка PNG-иконок, логотипов, схем и интерфейсных элементов для сайта;

  • уменьшение веса статичных изображений перед публикацией;

  • оптимизация ассетов приложения перед релизной сборкой;

  • пакетная обработка папки с графикой;

  • очистка PNG от лишних текстовых и служебных данных;

  • проверка проблемных PNG через подробный консольный вывод;

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

  • интеграция в build-процесс, где ручная работа с каждым файлом неудобна.

Pngcrush не заменяет GIMP, Paint.NET, Picosmos Tools и другие графические редакторы. Эти программы используются для правки изображения: кадрирования, рисования, слоев, ретуши, цветокоррекции, текста и визуальных эффектов. Pngcrush начинает работу после того, как изображение уже сохранено в PNG и его нужно сделать компактнее или очистить от лишних блоков.

Для просмотра, сортировки и конвертации большой коллекции изображений чаще подходят XnView, XnView MP, IrfanView или FastStone Image Viewer. Pngcrush работает точечно с внутренней структурой PNG и не предназначена для управления фотобиблиотекой.

Кому подходит Pngcrush

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

Веб-разработчик использует Pngcrush для уменьшения PNG-файлов перед публикацией. Логотипы, иконки, скриншоты интерфейса и декоративные элементы часто оказываются тяжелее, чем нужно, потому что графический редактор сохраняет файл с избыточными служебными данными или не подбирает лучший вариант Deflate-сжатия. Pngcrush уменьшает такие файлы без перехода на JPEG или WebP, когда по проекту требуется именно PNG.

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

Администратор сайта использует Pngcrush для локальной подготовки изображений. В отличие от онлайн-сервисов, программа обрабатывает файлы на компьютере пользователя. Изображения не передаются на сторонний сервер, а результат сразу появляется в указанной папке.

Опытный пользователь Windows, Linux, BSD или macOS получает инструмент, который не требует изучения сложного графического интерфейса. Достаточно понимать синтаксис командной строки, назначение входного и выходного файла, а также смысл нескольких основных параметров.

Pngcrush не подходит для задач, где нужен визуальный контроль до сохранения. В программе нет окна сравнения до/после, нет панели истории действий и нет предпросмотра прозрачности на шахматном фоне. Для разовой обработки без терминала удобнее графические оболочки вроде ImageOptim на macOS или Trimage, который объединяет GUI и CLI и использует optipng, pngcrush, advpng и jpegoptim в зависимости от типа файла.

Как устроен интерфейс Pngcrush

Интерфейс Pngcrush — это набор команд и сообщений терминала. Основной шаблон выглядит так:

pngcrush [параметры] input.png output.png

pngcrush запускает программу. input.png — исходный PNG. output.png — файл, в который будет записан результат. Параметры ставятся между именем программы и именами файлов. В простом режиме достаточно указать входной и выходной файл:

pngcrush input.png output.png

Pngcrush выводит в консоль информацию о процессе: какие методы сжатия пробуются, какой вариант оказался меньше, насколько изменился IDAT-поток и что записано на диск. При параметре -v вывод становится подробнее, а при повторном использовании -v -v программа сообщает еще больше служебной информации. В тихом режиме -q вывод сокращается. Параметр -h показывает справку и юридические уведомления.

Такой интерфейс требует аккуратности с путями. Если имя папки или файла содержит пробелы, путь заключают в кавычки:

pngcrush "images/source icon.png" "images/source icon.optimized.png"

В GUI-программе пользователь выбирает файл через окно Open и сохраняет через Save As. В Pngcrush эти действия заменяет строка с путями. Ошибка в имени файла приводит не к диалогу выбора, а к сообщению терминала. Поэтому для первой обработки безопаснее создавать отдельный выходной файл, а не сразу перезаписывать исходник.

Основные возможности Pngcrush

Сжатие PNG без потери видимого качества

Базовая функция Pngcrush — оптимизация PNG без ухудшения изображения. Программа работает не как JPEG-компрессор: она не вводит артефакты, не размывает края, не меняет цветовые переходы ради меньшего размера. Вместо этого Pngcrush перебирает варианты фильтрации строк и Deflate-сжатия для IDAT-данных. Итоговый PNG после декодирования сохраняет те же пиксели, когда используются обычные lossless-режимы оптимизации.

Размер уменьшается не всегда одинаково. PNG, уже обработанный хорошим оптимизатором, даст небольшой выигрыш или вообще не уменьшится. Файл, сохраненный редактором с избыточными блоками и неудачным сочетанием фильтров, сокращается заметнее. Поэтому Pngcrush не обещает фиксированный процент экономии. Она перебирает доступные методы и выбирает лучший результат из найденных.

Подбор PNG-фильтров

PNG-фильтры применяются к строкам изображения перед сжатием. Pngcrush работает с фильтрами PNG: 0 — no filter, 1 — sub, 2 — up, 3 — average, 4 — paeth. Адаптивный вариант 5 выбирает фильтр по строкам. Фильтр не меняет итоговые пиксели, но влияет на то, насколько хорошо данные сжимаются Deflate-алгоритмом.

В команде можно явно указать фильтр:

pngcrush -f 0 input.png output.png

Для обычного пользователя явный выбор фильтра нужен редко. Чаще Pngcrush запускают так, чтобы программа сама перебрала методы и выбрала меньший файл. Ручная фиксация фильтра полезна при сравнении результатов, повторении чужого сборочного процесса или диагностике файла.

Работа с уровнями zlib-сжатия

Параметр -l задает уровень zlib-сжатия от 0 до 9. Ноль означает отсутствие сжатия, 1 — самый быстрый режим сжатия, 9 — наиболее плотный режим из стандартных уровней zlib.

Пример:

pngcrush -l 9 input.png output.png

Один только высокий уровень -l 9 не всегда дает лучший размер, потому что результат зависит не только от уровня Deflate, но и от фильтрации, стратегии и структуры исходного PNG. Поэтому для тщательной оптимизации чаще используют перебор методов, а не один параметр.

Режим тщательного перебора -brute

Параметр -brute запускает расширенный перебор методов. Он полезен, когда пользователь готов потратить больше времени ради меньшего файла. Такой режим особенно уместен для финальной подготовки графики, которая будет многократно загружаться посетителями сайта или входить в состав приложения.

pngcrush -brute input.png output.png

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

Уменьшение цветового типа и глубины цвета через -reduce

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

Команда выглядит так:

pngcrush -reduce input.png output.png

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

Удаление служебных PNG-блоков через -rem

PNG-файл состоит не только из изображения. В нем могут быть блоки с гаммой, цветовым профилем, текстовыми комментариями, временем, разрешением, прозрачностью и другими данными. Pngcrush позволяет удалять ancillary chunks через -rem.

Удаление текстовых блоков:

pngcrush -rem text input.png output.png

Удаление набора известных ancillary chunks, кроме tRNS:

pngcrush -rem alla input.png output.png

Удаление всех известных ancillary chunks, кроме tRNS и gAMA:

pngcrush -rem allb input.png output.png

С этим параметром нельзя работать механически. tRNS отвечает за прозрачность в некоторых PNG, gAMA влияет на гамму, iCCP хранит ICC-профиль, pHYs может содержать физическое разрешение. Для веб-иконки часто достаточно удалить лишний текстовый мусор, но для дизайнерского макета, полиграфической подготовки или приложения с точным управлением цветом такие блоки бывают важны. Справка Pngcrush отдельно предупреждает, что слепое удаление transparency, gamma, copyright и других данных способно убрать информацию, которую нужно сохранить.

Сохранение нужных блоков через -keep и -save

Когда требуется очистить файл, но оставить определенные данные, используются параметры сохранения. -save заставляет сохранять неизвестные chunks. -keep применяется для сохранения указанного блока даже при проблемном состоянии; в справке отдельно описан сценарий с dSIG.

Практический смысл такой: Pngcrush не сводится к удалению всего лишнего. Программа позволяет управлять тем, какие блоки останутся, а какие будут выброшены. Это отличает ее от многих простых онлайн-компрессоров, где пользователь не видит внутреннюю структуру PNG и не управляет сохранением данных.

Добавление gAMA, sRGB, tEXt, zTXt и iTXt

Pngcrush умеет вставлять служебные блоки. Параметр -g добавляет gAMA, если такого блока нет; -replace_gamma заменяет имеющийся gAMA. Параметр -srgb задает sRGB rendering intent: 0 для perceptual, 1 для relative colorimetric, 2 для saturation, 3 для absolute colorimetric. Для текстовых данных используются -text, -ztxt, -itxt и -zitxt.

Пример добавления некомпрессированного текстового блока после IDAT:

pngcrush -text a "Comment" "Optimized for web assets" input.png output.png

Пример добавления сжатого zTXt-блока:

pngcrush -ztxt a "Comment" "Optimized with pngcrush" input.png output.png

Эти параметры нужны не каждому. Для обычного уменьшения веса PNG чаще используют сжатие и удаление лишних блоков. Добавление chunks полезно в рабочих процессах, где PNG должен нести техническую метку, комментарий, сведения о рендеринге или нужные параметры цвета.

Проверка файла без записи результата через -n

Параметр -n запускает обработку без сжатия и без записи выходного файла. Он полезен для анализа, тестового чтения PNG и просмотра информации о структуре файла. При сочетании с -v вывод становится подробнее:

pngcrush -n -v input.png

Такой режим удобен перед массовой обработкой. Пользователь видит, как Pngcrush воспринимает файл, не меняя исходник и не создавая новый PNG. Для проблемных изображений -n -v помогает понять, есть ли ошибки чтения, нестандартные блоки или особенности структуры.

Исправление некоторых проблемных PNG через -fix

Параметр -fix используется для исправления условий, которые иначе стали бы фатальными, включая плохие CRC.

Пример:

pngcrush -fix input.png output.png

-fix не превращает Pngcrush в универсальный восстановитель поврежденных изображений. Он нужен для конкретных ситуаций, когда файл читается с проблемами, но программа способна обработать его и записать исправленный результат. Перед использованием на ценных данных нужно сохранить копию исходного PNG.

Перезапись исходного файла через -ow

Параметр -ow записывает результат поверх исходного файла. Он удобен в автоматизации, но опасен при первой настройке команды:

pngcrush -ow input.png

Для теста безопаснее использовать отдельный выходной файл:

Pngcrush скриншот 1

pngcrush input.png input.optimized.png

После проверки размера, прозрачности, цвета и отображения можно переходить к -ow в рабочем сценарии. При массовой обработке перезапись без резервной копии создает риск потерять исходные служебные данные, если команда была выбрана неправильно.

Какие форматы поддерживает Pngcrush

Pngcrush ориентирована на PNG. Она не является универсальным конвертером изображений, не заменяет пакетные преобразователи вроде Converseen и не предназначена для редактирования JPEG, SVG, WebP или TIFF как рабочих форматов.

ФорматКак Pngcrush с ним работает
PNGосновной рабочий формат: оптимизация IDAT, фильтры, chunks, сжатие, проверка
APNGотдельные изменения в истории касались сохранения APNG-блоков при определенных условиях
MNGприсутствуют специальные параметры, включая -mng и -loco, но это не основной массовый сценарий
JPEGне рабочий формат Pngcrush
WebPне рабочий формат Pngcrush
SVGне рабочий формат Pngcrush
TIFFне рабочий формат Pngcrush

Внутри PNG программа учитывает цветовые типы: grayscale, truecolor, indexed-color, grayscale with alpha, truecolor with alpha. Для них используются разные допустимые глубины цвета, а альфа-канал хранит сведения о прозрачности.

Практический вывод простой: Pngcrush берут не для сжатия всех картинок, а для точной работы с PNG. Когда папка содержит PNG, JPG, WebP и SVG, для других форматов нужны отдельные инструменты или графические программы. Для пакетного изменения размеров изображений уместнее Free Batch Photo Resizer, для просмотра и конвертации — XnView MP, а для ручной правки — GIMP.

Как пользоваться Pngcrush

Базовая оптимизация одного файла

Самый простой сценарий — входной PNG и отдельный выходной PNG:

pngcrush input.png output.png

После выполнения команда создает output.png. Исходный input.png остается на месте. Такой способ подходит для первого знакомства с программой и проверки результата.

Правильный порядок работы:

  1. положить исходный PNG в рабочую папку;

  2. открыть терминал в этой папке;

  3. запустить команду с отдельным выходным файлом;

  4. сравнить размер input.png и output.png;

  5. открыть оба файла в просмотрщике;

  6. проверить прозрачность, цвет, края и отображение на целевой странице или в приложении;

  7. только после проверки применять тот же режим к другим PNG.

В терминале Pngcrush показывает найденный метод и статистику изменения размера. Значения зависят от исходного файла: один PNG уменьшается заметно, другой почти не меняется.

Тщательная оптимизация через -brute

Для финального результата можно включить более глубокий перебор:

pngcrush -brute input.png output.png

Этот режим делает больше попыток и тратит больше времени. Он полезен, когда PNG будет много раз передаваться по сети или входит в публичную сборку приложения. Для промежуточных файлов разработки -brute часто избыточен: быстрый режим удобнее на этапе активного редактирования, а тщательный перебор — перед публикацией.

Оптимизация с сокращением цветового представления

Команда с -reduce пытается убрать избыточную глубину цвета или изменить цветовой тип без потери данных:

pngcrush -reduce input.png output.png

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

Удаление текстовых данных

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

pngcrush -rem text input.png output.png

Команда удаляет текстовые chunks и записывает новый PNG. Это безопаснее, чем удалять все ancillary-блоки без разбора, потому что текстовые сведения обычно не влияют на рендеринг изображения. При этом в рабочих архивах, где важна история файла или авторские комментарии, текстовые блоки лучше сохранить.

Удаление большинства дополнительных блоков

Более агрессивный режим:

pngcrush -rem allb input.png output.png

allb удаляет известные ancillary chunks, кроме tRNS и gAMA. Такой вариант сохраняет больше данных, связанных с прозрачностью и гаммой, чем полное удаление всех вспомогательных блоков. Но и этот режим требует проверки результата: цветовой профиль iCCP, физическое разрешение pHYs или текстовая информация могут быть значимыми для конкретного рабочего процесса.

Проверка без записи файла

Перед массовым запуском полезно посмотреть, как Pngcrush читает файл:

pngcrush -n -v input.png

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

Запись результата в отдельную папку

Параметр -d записывает результат в указанную директорию, сохраняя имена файлов:

pngcrush -d optimized input.png

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

Изменение расширения выходных файлов

Параметр -e добавляет новое расширение к обработанным файлам:

pngcrush -e .crushed.png input.png

Такой прием помогает быстро увидеть, какие файлы уже прошли обработку. В папке рядом с input.png появляется файл с другим окончанием имени. Для больших наборов изображений это упрощает проверку и откат.

Массовая обработка в PowerShell

В Windows удобен PowerShell-цикл:

Get-ChildItem *.png | ForEach-Object {    pngcrush $_.FullName ("optimized\" + $_.Name)}

Перед запуском нужно создать папку optimized. Команда перебирает PNG в текущей директории и пишет результаты в отдельный каталог. Исходные файлы остаются нетронутыми.

Массовая обработка в Linux, BSD и macOS

В Unix-подобной оболочке можно использовать цикл:

mkdir -p optimizedfor f in *.png; do  pngcrush "$f" "optimized/$f"done

Кавычки вокруг переменных обязательны для имен с пробелами. Для глубокой оптимизации добавляют -brute, для сокращения цветового представления — -reduce, для очистки текстовых блоков — -rem text.

mkdir -p optimizedfor f in *.png; do  pngcrush -brute -reduce -rem text "$f" "optimized/$f"done

Автоматизацию можно оформить не только shell-циклом, но и через оболочку ОС. На macOS Pngcrush часто запускают из Terminal, а при необходимости заворачивают команду в Automator-действие: пользователь выбирает PNG в Finder, а служба передает путь shell-скрипту с вызовом pngcrush.

Настройка Automator-действия для запуска pngcrush через shell-скрипт

На таком скриншоте важна не графическая оболочка Pngcrush, а способ передать выбранный файл в команду. Automator выступает внешней надстройкой: сама обработка выполняется консольной утилитой.

После настройки Automator-действие появляется в контекстном сценарии Finder. Это удобный компромисс для macOS: пользователь запускает оптимизацию из меню, но сохраняет поведение Pngcrush как консольного инструмента.

Практические сценарии использования

Оптимизация PNG для сайта

На сайте PNG чаще всего используют для логотипов, скриншотов интерфейса, иконок, схем, декоративных элементов и изображений с прозрачностью. Pngcrush уменьшает такие файлы без перехода на другой формат. Это важно, когда PNG нужен из-за альфа-канала, четких краев, ограниченной палитры или требований проекта.

Типовой процесс:

  1. подготовить изображение в графическом редакторе;

  2. сохранить исходный PNG;

  3. прогнать файл через Pngcrush;

  4. проверить итоговый размер;

  5. открыть файл в браузере;

  6. сравнить прозрачные края и цвет;

  7. заменить PNG на сайте только после проверки.

Для сайта безопаснее начинать с удаления текстовых блоков и стандартной оптимизации:

pngcrush -rem text source.png source.optimized.png

Если PNG содержит простые цвета, добавляют -reduce:

pngcrush -reduce -rem text source.png source.optimized.png

Для финальной публикации используют более тщательный вариант:

pngcrush -brute -reduce -rem text source.png source.optimized.png

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

Подготовка ассетов приложения

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

Пример:

mkdir -p build/assetsfor f in assets/*.png; do  pngcrush -reduce -rem text "$f" "build/$f"done

В таком процессе исходники остаются в assets, а подготовленные файлы попадают в build/assets. Это снижает риск случайно испортить рабочие изображения. Если команда подобрана неправильно, можно удалить выходную папку и повторить обработку с другими параметрами.

Pngcrush скриншот 2

Для ассетов приложения особенно важна проверка прозрачности. Иконка может выглядеть правильно на белом фоне, но дать заметные края на темной теме. После -reduce и удаления блоков нужно проверить PNG в том интерфейсе, где он будет использоваться.

Очистка PNG от лишних служебных данных

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

Мягкая очистка:

pngcrush -rem text input.png output.png

Более агрессивная очистка с сохранением tRNS и gAMA:

pngcrush -rem allb input.png output.png

Для файлов с важным цветом нельзя механически удалять iCCP, gAMA и sRGB. Для файлов с индексированной прозрачностью нельзя терять tRNS. Для изображений, где физическое разрешение используется в целевой программе, важен pHYs. Поэтому очистка должна соответствовать задаче: веб-иконка, технический скриншот, печатный макет и ассет приложения требуют разных правил.

Проверка нестандартных PNG

Pngcrush полезна не только для уменьшения размера, но и для анализа PNG. Режим -n -v показывает подробный вывод без записи файла:

pngcrush -n -v suspicious.png

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

Для некоторых проблем используется -fix:

pngcrush -fix suspicious.png fixed.png

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

Параметры командной строки, которые чаще всего нужны

Pngcrush содержит много опций. Для обычного обзора важнее не перечислить все подряд, а понимать, какие параметры решают реальные задачи.

ПараметрЧто делаетКогда использовать
-hвыводит справку и юридические уведомленияпри первом знакомстве с программой
-vувеличивает подробность выводадля диагностики и анализа результата
-qсокращает выводдля скриптов, где не нужен подробный лог
-nне сжимает и не пишет выходной файлдля проверки структуры и тестового чтения
-bruteзапускает более тщательный перебор методовдля финальной оптимизации
-reduceсокращает цветовой тип или битовую глубину без потери данных, когда это допустимодля иконок, схем, простых PNG
-rem textудаляет текстовые chunksдля очистки веб-графики
-rem allbудаляет известные ancillary chunks, кроме tRNS и gAMAдля агрессивной очистки с сохранением важных данных прозрачности и гаммы
-dпишет результаты в директориюдля пакетной обработки без перезаписи исходников
-eзадает новое расширение выходных файловдля маркировки обработанных PNG
-owперезаписывает исходный файлдля отлаженных скриптов и только при наличии копии
-fixисправляет часть ошибок, которые иначе мешают обработкедля проблемных PNG
-lзадает уровень zlib-сжатиядля ручного контроля уровня
-fзадает PNG-фильтрдля тестов и специальных сценариев
-mвыбирает метод обработкидля точного повторения нужной комбинации
-gдобавляет gAMA при отсутствиидля управления гаммой
-srgbзадает rendering intent sRGBдля контролируемого описания цветового поведения
-text, -ztxt, -itxtдобавляют текстовые chunksдля технических комментариев и меток

На практике чаще всего хватает пяти приемов: простая команда с входным и выходным файлом, -brute, -reduce, -rem text, -d для отдельной папки. Остальные параметры нужны, когда пользователь понимает, какие PNG-блоки важны для его проекта.

Системные требования

Pngcrush не требует графической оболочки, видеоускорителя или браузера для обработки файлов. Программа запускается как консольная утилита и работает с локальными PNG. Карточка проекта указывает BSD, Linux и Windows как поддерживаемые операционные системы; домашняя страница проекта описывает запуск из командной строки MSDOS/Windows, Unix и Linux. Для macOS используется Unix-подобная командная строка, а Homebrew содержит формулу Pngcrush.

КомпонентТребование для работы
Тип программыконсольная утилита
Основные ОСWindows, Linux, BSD
macOSработа через Unix-подобную командную строку при наличии установленной сборки
Графический интерфейсне требуется
Интернетне нужен для обработки локальных PNG
Процессордостаточно обычного CPU; время зависит от размера изображения и режима перебора
Оперативная памятьзависит от размеров PNG и числа операций, отдельная высокая планка для типичных файлов не нужна
Дисковое местоместо для исполняемого файла, исходных PNG и выходных PNG
ЗависимостиPngcrush использует libpng и zlib; исходный пакет включает эти библиотеки
Рабочий форматPNG
Управлениекоманда pngcrush с параметрами

Для старых или слабых компьютеров важнее не сам запуск программы, а выбранный режим. Обычная оптимизация небольших иконок выполняется быстро, а -brute на крупных изображениях тратит больше времени. При массовой обработке папки с сотнями PNG нагрузка растет за счет количества файлов и глубины перебора.

Сравнение с аналогами

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

ПрограммаТипПотери качестваИнтерфейсСильная сторонаОграничение
PngcrushPNG-оптимизаторбез потерь в стандартных режимах оптимизациикомандная строкауправление фильтрами, методами, chunks и скриптаминет визуального интерфейса
OptiPNGPNG-оптимизаторбез потерькомандная строкапростая recompress-оптимизация и проверка PNGменьше ручного управления chunks, чем у Pngcrush
PNGOUTPNG-оптимизаторбез потерькомандная строка, внешние оболочкисильное Deflate-сжатиене автоматизирует trials в базовой консольной версии
pngquantPNG-компрессорс потерями через палитрукомандная строка и интеграциисильное уменьшение 24/32-bit PNG за счет 8-bit PNG с alphaменяет цветовое представление
ImageOptimграфическая оболочка macOSзависит от подключенных движковdrag-and-drop GUIудобная обработка без терминала, объединяет несколько движковориентирован на macOS и менее прозрачен по внутренним параметрам
TrimageGUI и CLIбез потерьграфический интерфейс и командная строкавеб-оптимизация PNG/JPG через набор утилитрезультат зависит от внешних оптимизаторов
OxipngPNG/APNG-оптимизаторбез потерь, кроме отдельных опций вроде --alphaкомандная строка и библиотека Rustмногопоточная оптимизация PNG/APNGдругая модель параметров, не полный аналог управления chunks Pngcrush
ZopfliPNGPNG-оптимизаторбез потерь в основной логикекомандная строкаZopfli Deflate и сильное сжатиеболее долгий процесс, акцент на финальную упаковку

OptiPNG близок к Pngcrush по идее: он пересжимает PNG без потери информации, умеет конвертировать BMP, GIF, PNM и TIFF в оптимизированный PNG, а также выполняет проверки и исправления целостности PNG. Для пользователя, которому нужна простая команда без тонкой работы с chunks, OptiPNG часто проще. Pngcrush интереснее там, где нужно контролировать ancillary-блоки, диагностировать структуру PNG и задавать более точные параметры.

PNGOUT тоже работает как оптимизатор PNG, созданных другими программами. Его можно запускать из Windows Run dialog или командной строки. Документация PNGOUT отдельно подчеркивает, что он способен давать меньший размер, чем pngcrush -brute или optipng -o7, но базовая версия не автоматизирует trials, поэтому пользователю приходится подбирать параметры самостоятельно. Pngcrush удобнее, когда нужен автоматический перебор методов в самой программе.

pngquant решает другую задачу. Это command-line utility и библиотека для lossy compression PNG; она уменьшает файлы за счет преобразования в более эффективный 8-bit PNG с alpha channel и заявляет сокращение часто до 60–80% по сравнению с 24/32-bit PNG. Для иконок, иллюстраций и веб-графики, где небольшие цветовые изменения допустимы, pngquant дает сильное уменьшение. Для задач, где нельзя менять пиксельные данные, нужен Pngcrush или другой lossless-оптимизатор.

ImageOptim удобен пользователям macOS, которым нужна обработка перетаскиванием. Он удаляет метаданные и объединяет несколько движков, включая pngquant, Pngcrush, Zopfli и другие инструменты. Это хорошая оболочка для разовых задач, но она скрывает часть низкоуровневого контроля, ради которого выбирают Pngcrush.

Trimage объединяет GUI и command-line interface для lossless-оптимизации PNG и JPG для веба. Для PNG он использует optipng, pngcrush и advpng, для JPG — jpegoptim. Trimage полезен, когда нужен графический вход, drag-and-drop и обработка разных типов веб-изображений. Pngcrush выбирают, когда нужен именно контролируемый PNG-процесс без внешней оболочки.

Oxipng — многопоточный lossless PNG/APNG optimizer на Rust. Он работает как командная утилита и библиотека, поддерживает параметры вроде -o 0-o 6, --strip safe, --strip all, --alpha и умеет обрабатывать APNG в ограниченном режиме. Для современных сборочных процессов Oxipng привлекателен скоростью и многопоточностью. Pngcrush сильнее в сценариях, где нужен привычный набор параметров для chunks и долгосрочно используемые команды.

ZopfliPNG использует Zopfli compression для Deflate, сравнивает стратегии фильтрации scanline, выбирает подходящий color type для lossless-кодирования, удаляет chunks, неважные для типичного веб-использования, и предупреждает, что в специальных случаях gamma, DPI и другие ancillary chunks нужно сохранять через --keepchunks. Это инструмент для финального сильного сжатия, где пользователь готов ждать. Pngcrush быстрее вписывается в умеренный ежедневный процесс и дает больше привычного контроля над типичными PNG-блоками.

Отзывы пользователей и профильных ресурсов

Pngcrush редко попадает в обзоры массового софта, потому что у программы нет графического окна и привычной демонстрации функций. Ее оценивают в основном каталоги ПО, технические блоги, Linux-репозитории и разработчики, которым нужна автоматизация PNG-оптимизации.

Softpedia описывает Pngcrush как простую command-line utility для уменьшения размера PNG, изменения параметров вроде resolution и compression, а также отмечает ориентацию на опытных пользователей. В карточке Windows-версии приведены оценки 4.0/5 от редакции и 3.8/5 от пользовательского голосования. Это хорошо отражает профиль программы: она полезна, но требует понимания командной строки.

AlternativeTo классифицирует Pngcrush как free/open source, command-line, offline, ad-free image optimizer для Windows и Linux. На странице нет развернутых пользовательских рецензий, зато набор тегов показывает, как сервисы каталогизируют программу: не как редактор изображений, а как инструмент оптимизации.

Технические блоги обычно оценивают Pngcrush через реальные команды и размер результата. В публикации David Walsh показан запуск pngcrush -reduce -brute source.png destination.png, где примерный файл дал 33.38% IDAT reduction и 33.43% filesize reduction, но потребовал 835.707 seconds CPU time. У OS X Daily приведен пример, где Pngcrush нашел best method 10, уменьшил IDAT на 29.90%, итоговый размер — на 25.23%, а обработка заняла 0.249 seconds. Эти примеры показывают характер программы: результат сильно зависит от исходного PNG и выбранного режима.

Усредненная оценка Pngcrush в технической среде сводится к нескольким повторяющимся тезисам:

  • программа ценится за lossless-оптимизацию PNG;

  • командная строка удобна для скриптов, но неудобна для новичков;

  • результат нельзя оценивать только по запуску на одном файле;

  • -brute дает дополнительный шанс на меньший размер, но увеличивает время;

  • управление chunks полезно опытным пользователям и рискованно при механическом удалении;

  • для максимального уменьшения веса при допустимых потерях чаще выбирают pngquant;

  • для графического сценария удобнее ImageOptim или Trimage;

  • для современных многопоточных CLI-процессов часто рассматривают Oxipng.

Pngcrush получает не эмоциональные отзывы в духе удобная программа для всех, а техническую оценку: она делает узкую работу, хорошо автоматизируется и требует аккуратного выбора параметров.

Преимущества и ограничения

Плюсы:

  • оптимизирует PNG без визуальной потери качества в стандартных lossless-сценариях;

  • работает локально и не отправляет изображения в онлайн-сервис;

  • запускается из командной строки и подходит для автоматизации;

  • умеет подбирать методы фильтрации и сжатия;

  • позволяет удалять, сохранять и добавлять PNG chunks;

  • подходит для пакетной обработки через shell, PowerShell и batch-сценарии;

  • полезна для веб-разработки и подготовки ассетов приложений;

  • распространяется как open source и доступна с исходным кодом;

  • использует libpng и zlib, что соответствует ее технической специализации на PNG.

Минусы:

  • нет графического интерфейса, предпросмотра и кнопок управления;

  • программа работает с PNG, а не со всеми форматами изображений;

  • параметры -rem, -keep, -save, -g, -srgb требуют понимания структуры PNG;

  • -brute увеличивает время обработки;

  • неправильное удаление chunks может убрать данные, важные для цвета, прозрачности, разрешения или авторских сведений;

  • при использовании -ow легко перезаписать исходник без возможности быстрого сравнения;

  • для сильного уменьшения размера с допустимыми потерями нужен другой инструмент, например pngquant;

  • для пользователей без опыта командной строки входной порог выше, чем у ImageOptim или Trimage.

Безопасность, лицензия и открытый код

Pngcrush распространяется как open source; домашняя страница проекта прямо разрешает использовать, изменять и распространять программу без платы. Исходный код доступен в репозитории проекта, а в состав исходного пакета входят libpng и zlib.

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

Риски связаны не с передачей данных, а с командами и файлами:

  • параметр -ow перезаписывает исходник;

    Pngcrush скриншот 3

  • агрессивное удаление chunks может убрать служебные данные;

  • обработка PNG из неизвестного источника требует обычной осторожности для бинарных файлов;

  • старые сборочные цепочки могут отличаться поведением libpng/zlib;

  • автоматические скрипты нужно запускать сначала на тестовой папке.

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

Типичные ошибки при работе с Pngcrush

Команда запускается не из той папки

Пользователь пишет:

pngcrush input.png output.png

а терминал находится в другой директории. Pngcrush не находит input.png, потому что путь указан относительно текущей папки. Решение — перейти в нужную директорию или использовать полный путь:

pngcrush "C:\images\input.png" "C:\images\output.png"

В Unix-подобной оболочке:

pngcrush "/home/user/images/input.png" "/home/user/images/output.png"

Путь содержит пробелы

Без кавычек команда ломается на части:

pngcrush my icon.png my icon.optimized.png

Правильно:

pngcrush "my icon.png" "my icon.optimized.png"

Это особенно часто встречается в Windows и macOS, где файлы и папки нередко имеют имена с пробелами.

Ожидание гарантированного уменьшения

Pngcrush не всегда уменьшает PNG. Если файл уже оптимизирован, программа может не найти меньший вариант. При отсутствии -force Pngcrush не обязана записывать результат, который больше входного файла. Параметр -force используется для принудительной записи, но для обычной оптимизации он не нужен, когда цель — уменьшение размера.

Слишком раннее использование -ow

Команда:

pngcrush -ow *.png

опасна при первом запуске. Она перезаписывает исходники, а пользователь еще не проверил, как выбранные параметры влияют на конкретные файлы. Безопасный порядок другой:

mkdir -p optimizedfor f in *.png; do  pngcrush "$f" "optimized/$f"done

После сравнения можно переходить к перезаписи.

Механическое удаление всех служебных блоков

Удаление chunks уменьшает файл, но не каждый chunk лишний. tRNS хранит прозрачность, gAMA и sRGB влияют на цветовое поведение, iCCP содержит профиль, pHYs описывает физическое разрешение, текстовые блоки могут содержать нужные сведения. Команда должна соответствовать задаче:

pngcrush -rem text input.png output.png

обычно безопаснее, чем агрессивное удаление всего.

Неверное сравнение результата

Проверять нужно не только размер файла. Для PNG важны:

  • прозрачные края;

  • цвет на светлом и темном фоне;

  • отображение в браузере;

  • поведение в приложении;

  • сохранение нужного профиля;

  • отсутствие проблем при загрузке в CMS или сборщик;

  • одинаковое отображение на целевой платформе.

Файл меньшего размера бесполезен, если целевая программа отображает его неправильно.

Как проверить результат после оптимизации

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

Минимальный чек-лист:

  • сравнить размер исходного и выходного PNG;

  • открыть итоговый файл в обычном просмотрщике;

  • открыть файл в браузере, если он предназначен для сайта;

  • проверить прозрачность на светлом и темном фоне;

  • убедиться, что цвет не изменился в целевой среде;

  • проверить, что файл загружается в CMS, приложение или сборщик;

  • для ассетов интерфейса посмотреть PNG в реальном UI;

  • для массовой обработки сначала прогнать 5–10 файлов из разных типов;

  • сохранить исходники до завершения проверки.

Для проверки без записи удобно использовать:

pngcrush -n -v input.png

Для сравнения размера в Linux и macOS:

ls -lh input.png output.png

В PowerShell:

Get-Item input.png, output.png | Select-Object Name, Length

Размер — только первый критерий. Цвет и прозрачность важнее, когда PNG входит в интерфейс приложения, баннер, логотип или техническую схему.

Когда Pngcrush лучше не использовать

Pngcrush не нужна, если исходная задача не связана с PNG. Для JPEG, WebP, SVG, TIFF и RAW нужны другие инструменты. Для изменения размера изображения, кадрирования, добавления текста, ретуши и работы со слоями уместнее графический редактор.

Программа также не лучший выбор для пользователя, который хочет перетащить файлы мышью, сразу увидеть превью и нажать одну кнопку. В таком сценарии удобнее ImageOptim на macOS или Trimage, который дает графический ввод и использует набор оптимизаторов внутри.

Pngcrush не заменяет lossy-сжатие. Когда нужно максимально уменьшить размер PNG и допустима небольшая потеря точности цвета, pngquant часто дает больший выигрыш за счет перехода к 8-bit PNG с alpha. Pngcrush выбирают, когда важна сохранность данных изображения и контроль внутренней структуры PNG.

Практические рекомендации по выбору параметров

СценарийРекомендуемый подход
Первое знакомствоpngcrush input.png output.png
Финальная оптимизация одного важного PNGpngcrush -brute input.png output.png
Иконки и простая графикаpngcrush -reduce input.png output.png
Веб-графика с лишними комментариямиpngcrush -rem text input.png output.png
Подготовка папки без перезаписиpngcrush -d optimized *.png
Диагностика структурыpngcrush -n -v input.png
Исправление части проблем чтенияpngcrush -fix input.png fixed.png
Отлаженный пакетный процессpngcrush -ow file.png только после проверки на копии

Для большинства рабочих процессов достаточно двух профилей.

Безопасный профиль:

pngcrush -rem text input.png output.png

Он удаляет текстовые блоки и выполняет обычную оптимизацию, не заходя в агрессивное удаление всех служебных данных.

Финальный профиль для простых веб-PNG:

pngcrush -brute -reduce -rem text input.png output.png

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

Частые вопросы

Pngcrush ухудшает качество изображения?

В стандартной lossless-оптимизации Pngcrush не ухудшает видимое изображение. Она перебирает фильтры и уровни сжатия для PNG-данных, а не вносит JPEG-подобные артефакты. При этом параметры, связанные с удалением chunks, нужно применять осознанно: удаление профиля цвета, гаммы или прозрачности может изменить поведение файла в конкретной среде.

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

Исходный PNG уже мог быть оптимизирован. Еще одна причина — содержимое файла плохо поддается дополнительному уменьшению стандартными lossless-методами. Pngcrush выбирает лучший вариант из найденных комбинаций, но не превращает любой PNG в маленький файл с гарантированным процентом сокращения.

Можно ли сжимать сразу всю папку?

Да. Pngcrush не имеет отдельной кнопки пакетной обработки, но командная строка решает эту задачу через shell, PowerShell или batch. Безопаснее писать результат в отдельную папку через -d или через цикл с выходным каталогом.

Подходит ли Pngcrush для JPG?

Нет. Pngcrush работает с PNG-задачами. Для JPEG нужны другие инструменты. Trimage, например, обрабатывает PNG и JPG, используя разные оптимизаторы в зависимости от типа файла.

Нужно ли всегда использовать -brute?

Нет. -brute нужен для более тщательного поиска меньшего файла, но он увеличивает время обработки. Для регулярной черновой подготовки достаточно обычного режима. Для финальной публикации статичных PNG -brute уместен чаще.

Безопасно ли удалять все chunks?

Нет. Вспомогательные блоки бывают лишними, но часть из них влияет на прозрачность, цвет, разрешение или содержит нужные данные. Для начала лучше удалять только текстовые chunks через -rem text. Агрессивные параметры применяют после проверки на копиях.

Чем Pngcrush отличается от ImageOptim?

Pngcrush — самостоятельная консольная утилита с параметрами для PNG. ImageOptim — графическое приложение macOS, которое объединяет несколько движков, включая Pngcrush, и дает drag-and-drop-обработку. Pngcrush удобнее для скриптов и точного контроля, ImageOptim — для пользователей, которым нужен визуальный рабочий процесс.

Чем Pngcrush отличается от pngquant?

Pngcrush оптимизирует PNG без потери пиксельных данных в стандартных lossless-сценариях. pngquant использует lossy compression и уменьшает размер за счет преобразования PNG в 8-bit формат с alpha. Для строгой сохранности берут Pngcrush, для сильного уменьшения размера с допустимыми изменениями цвета — pngquant.

Итог

Pngcrush — узкая и технически точная программа для тех, кто работает с PNG не как с картинкой на экране, а как с файлом, который можно оптимизировать, проверить и подготовить к публикации. Ее сильная сторона — командная строка, lossless-сжатие, перебор фильтров и управление PNG chunks. Ее слабая сторона — отсутствие визуального интерфейса и необходимость понимать параметры.

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

Когда нужен графический интерфейс, лучше выбрать ImageOptim или Trimage. Когда нужна ручная правка изображения, нужны редакторы вроде GIMP, Paint.NET или PicPick. Когда требуется максимально уменьшить PNG с допустимыми потерями, стоит сравнить результат с pngquant. Pngcrush остается инструментом для задач, где важны контроль, повторяемость и аккуратная оптимизация PNG без визуального изменения изображения.

Список изменений

Раннее развитие и связь с libpng/zlib:

  • Pngcrush развивалась как инструмент вокруг PNG, libpng и zlib. В исходном пакете проекта используются libpng и zlib, а домашняя страница отдельно описывает изменения в комплектных файлах библиотек: в pngconf.h включается pngcrush.h , в zlib изменялись параметры, связанные с Deflate-поиском и контрольными суммами.
  • На практике это отражает характер программы: Pngcrush не является оболочкой вокруг графического редактора. Она работает на уровне структуры PNG и алгоритмов сжатия. Поэтому в истории изменений много пунктов про chunks, CRC, libpng, zlib, фильтры, обработку ошибок и сборки под разные платформы.

Линия 1.6: chunks, timestamp, CgBI и безопасность:

  • В ветке 1.6 появились и дорабатывались функции, важные для служебных данных PNG. В ChangeLog упоминаются dSIG , sTER , изменения обработки gAMA , исправления -trns_a , добавление -newtimestamp и -oldtimestamp , а также обнаружение CgBI .
  • CgBI связан с модифицированными PNG, которые использовались в экосистеме Apple. Домашняя страница Pngcrush описывает Apple-вариант как поток, начинающийся с CgBI вместо обычного IHDR, и указывает, что Pngcrush способен обращать iPhone-оптимизацию за исключением потери некоторой точности.
  • В этой же линии есть важные исправления безопасности и совместимости. В ChangeLog для 1.6.14 указано изменение, связанное с CVE-2009-0040. Для утилиты, которая читает сторонние изображения, такие исправления значимы: PNG-файл — это структурированный бинарный контейнер, и ошибки обработки могут приводить к сбоям.

Линия 1.7: APNG, сокращение палитры, -ow и исправления ошибок:

  • Ветка 1.7 активно расширяла практические сценарии. В 1.7.0 появилось сохранение APNG-блоков при выводе с расширением .apng , если цветовой тип и битовая глубина не меняются. В 1.7.22 добавлен параметр -ow , который разрешает запись поверх исходного файла.
  • Поздние выпуски 1.7 уделяли внимание -reduce , палитре, Windows-сборкам, CRC и нестандартным файлам. В 1.7.60 пересматривался -reduce и добавлялись предупреждения по зависимостям chunks. В 1.7.65 появились предупреждения и запрет сокращений при наличии acTL , что важно для APNG. В 1.7.80 добавлены -reduce_palette и -noreduce_palette . В 1.7.87 исправлен CVE-2015-7700, связанный с double-free.
  • Для пользователя это развитие означает, что программа постепенно становилась аккуратнее при работе с нестандартными PNG и данными, которые нельзя механически выбросить. Оптимизатор должен не только уменьшать файл, но и понимать, какие изменения нарушат структуру или поведение изображения.

Линия 1.8: поведение -reduce , производительность и новые методы:

  • Линия 1.8 изменила часть поведения по умолчанию и улучшала производительность. В 1.8.0 -reduce и -force стали поведением по умолчанию, а устаревшие параметры были удалены. В 1.8.1 появились LICENSE , -noforce и -speed . В 1.8.2 исправлен отчет о сокращении размера при -ow . В 1.8.3 добавлена SSE-оптимизация и таймеры, а также изменен итоговый вывод в -q .
  • Дальше развитие касалось контрольных сумм и ускорения. В 1.8.5 появились -benchmark n , опция проверки CRC и поддержка формата --option . В 1.8.6 включена ARM_NEON-оптимизация. Выпуски 1.8.7–1.8.10 меняли обработку ADLER32, добавляли -warn , исправляли сборку без библиотек и использовали inflateValidate , что уменьшало время декодирования. В 1.8.12 добавлен filter_method 6 , методы 149–176 и изменена подробность вывода: прежний стандартный уровень стал доступен через -v , а более подробный — через -v -v .
  • История Pngcrush показывает, что программа развивалась не в сторону визуального интерфейса, а в сторону точности, скорости, совместимости с libpng/zlib и более аккуратной обработки сложных PNG.

Выберите ссылку для загрузки Pngcrush

Всего скачали: 9 | сегодня: 9

Скачать бесплатно
Pngcrush

Похожие программы на Pngcrush

из раздела "Графические редакторы"

Оставте свой отзыв о Pngcrush