Jump to content

PNGCrush

PNGCrush
Разработчик(и) Гленн Рандерс-Персон
Стабильная версия
1.8.13 [1] / 29 августа 2017 г .; 6 лет назад ( 29.08.2017 ) [2]
Репозиторий
Написано в С
Операционная система Кросс-платформенный
Тип Оптимизатор изображений
Лицензия Похоже на: Лицензия libpng
Веб-сайт вечернее время .sourceforge .что /pngcrush /

pngcrush бесплатная с открытым исходным кодом утилита командной строки для оптимизации файлов изображений PNG . Он уменьшает размер файла без потерь – то есть полученное «раздавленное» изображение будет иметь то же качество, что и исходное изображение.

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

Основная операция

[ редактировать ]

Основное использование pngcrush — уменьшение размера данных изображения, содержащихся в разделе IDAT.

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

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

pngcrush сжимает изображение с помощью нескольких различных комбинаций, а затем сохраняет наименьший из полученных файлов. [4] Поскольку невозможно просмотреть все комбинации, pngcrush использует эвристику для выбора методов, которые следует попробовать.

По умолчанию pngcrush использует всего несколько распространенных методов для уничтожения файла. Необязательный аргумент «-brute» можно использовать для грубого дробления, при котором будут пробовать 176 различных методов дробления в версии 1.8.12 и более поздних или 148 методов дробления в версиях с 1.7.45 по 1.8.11.

Уменьшение размера файла за счет удаления данных цветокоррекции

[ редактировать ]

Одной из особенностей pngcrush является возможность удалять все данные цветокоррекции ( гамма , баланс белого , цветовой профиль ICC , стандартный RGB ) из файлов PNG. цветовой профиль [5]

Поскольку большинство графических программ содержат дополнительные данные цветокоррекции, которые обычно не нужны. [ по мнению кого? ] , его удаление может привести к тому, что размер файла будет на 40 % меньше исходного. pngcrush, если это указано, также без потерь уменьшит разрядность изображений или применит цветовую палитру , если это возможно, если это приведет к меньшему размеру файла. Все вспомогательные фрагменты и текстовые фрагменты можно удалить.

Манипулирование изображениями

[ редактировать ]

pngcrush можно использовать для изменения цветовой кодировки изображения. Например, если изображение содержит 10 цветов, но имеет цветовую палитру из 256 записей (8-бит), pngcrush можно использовать для уменьшения цветовой палитры до 4-битной и усечения палитры до 10 записей.

pngcrush также может изменить цветовой тип изображения. Для полноцветного изображения изменение типа цвета с 2 на 0 преобразует его в оттенки серого. Изображения в оттенках серого обычно меньше, чем полноцветные изображения, поскольку в дополнение к дополнительному альфа-каналу на пиксель используется только один 8-битный канал, а не три. Изображения в оттенках серого обычно меньше изображений с палитрой, поскольку для них не требуется определять цветовую палитру . Для изображения истинного цвета с альфа-каналом изменение типа цвета с 6 на 2 удаляет альфа-канал.

Манипулирование фрагментами и метаданными

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ «Журнал изменений pngcrush» . Проверено 27 июля 2018 г. - через SourceForge .
  2. ^ «Инструменты PNG и MNG — просмотрите /pngcrush/1.8.13 на SourceForge.net» . 29 августа 2017 года . Проверено 27 июля 2018 г. - через SourceForge .
  3. ^ Космин Трута (10 мая 2008 г.). «Руководство по оптимизации PNG» . Проверено 31 июля 2010 г.
  4. ^ Уидон, Дэвид. "мужчина pngcrush" . Проверено 31 июля 2010 г.
  5. ^ Сивонен, Анри (21 апреля 2003 г.). «Печальная история PNG Гаммы «Коррекция» » . Проверено 8 сентября 2017 г.

Дальнейшее чтение

[ редактировать ]
  • Содерс, Стив (2009). Еще более быстрые веб-сайты: необходимые знания для фронтенд-инженеров . О'Рейли Медиа. п. 142. ИСБН  0-596-52230-4 .
  • Саюд, Халид (2003). Справочник по сжатию без потерь . Академическая пресса. стр. 386–388. ISBN  0-12-620861-1 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3c44a6f0efeae3f12e782bff41a0c5a4__1696036800
URL1:https://arc.ask3.ru/arc/aa/3c/a4/3c44a6f0efeae3f12e782bff41a0c5a4.html
Заголовок, (Title) документа по адресу, URL1:
pngcrush - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)