Pull to refresh

Pngquant — библиотека и утилита командной строки для сжатия png с потерями

Reading time1 min
Views11K
Вышла новая версия (2.0.1) утилиты.

Утилита позволяет преобразовывать png с 24 и 32 битами на пиксель в png с палитрой (8 бит).

Разработчики утверждают, что утилита в некоторых случаях позволяет уменьшить размер файла аж на 70% от исходного, сохраняя при этом альфа прозрачность (при этом утверждают, что прозрачность обрабатывается в IE6 лучше, чем у 24-битных png — не то, чтобы это всерьёз кого-то заботило...).

Особенности:

— создание новой палитры с использованием алгоритмов векторного квантования
— уникальный дизеринг, добавляющий к картинкам меньше шума, чем стандартный алгоритм Флойда-Стейнберга
— легко интегрируется со скриптам и gui (ну ещё бы, это же командная строка)
— есть ускоренный режим работы, для обработки большого кол-ва изображений

Давайте проверим. Под катом — картинки (сюрприз), i.e. — трафик.

Изображение 1.




Исходное несжатое изображение, 1'389'142 байт. 72'664 уникальных цветов.

Сжатое изображение, 530'334 байт. 256 цветов в палитре.

По-моему, неплохо. Разницы я не увидел. Сжатие на 62%.

Изображение 2.




Исходное изображение, 693'602 b. 39'121 уникальных цветов.

Сжатое изображение, 230'297 b. 256 цветов в палитре.

Видна небольшая разница (губы, куртка). Но не сказать, чтоб существенная.

Изображение 3.




Исходное изображение, 745'912 b. 140'838 уникальных цветов.

Сжатое изображение, 236'205 b. 256 цветов в палитре.

Разница кое-где заметна, но только если переключаться между исходной и сжатой картинками. Если посмотреть на одну, а через минуту — на другую, вряд ли вы вспомните, в чём разница.

Вывод: совсем неплохо.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 21: ↑20 and ↓1+19
Comments24

Articles