Автоматическая оптимизация. Оптимизируем PNG (Portable Network Graphics). Алгоритмы уменьшения изображений
Выбор типа PNG
Автоматическая оптимизация
Оптимизация через Lossy GIF
Постеризация
Простое снижение количество цветов в Photoshop
Программа «Color quantizer» и маска повышения качества
Маска влияния в Adobe Photoshop
Уменьшаем детализацию
Невидимое не значит несуществующее
Разделение непрозрачных и прозрачных областей
Резюме
Давайте отвлеч?мся от при?мов ручной оптимизации и рассмотрим инструменты, которые помогут произвести оптимизацию автоматическую. Насколько большой выигрыш можно получить, если взять обычные изображения, сохран?нные в графическом редакторе и обработать такими утилитами?
Для тестирования были выбраны три утилиты: PMT (pngcrush), optipng и pngout, поскольку pngout не умеет сама перебирать методы оптимизации, то для не? был написан небольшой командный файл, использующий для перебора optipng (метод взят с блога blog.ad.by):
@ECHO OFF IF "%1"=="" EXIT 1
FOR /F "usebackq delims==,IDAT tokens=5" %%i in (`optipng -o4 -full -sim "%1"`) DO SET f=%%i
IF "%2"=="" ( pngout /k0 /n2 /f%f:~1,1% "%1" || EXIT 3 ) ELSE ( pngout /k0 /n2 /f%f:~1,1% "%1" "%2" || EXIT 3 )
Для тестов мы взяли по 10 иллюстраций каждого типа: фотографии (глубина цвета — 24 бита), полноцветные синтетические (глубина цвета — 24 бита), синтетические с градациями серого (8 бит) и с индексированной палитрой (8 бит).
* — неожиданно плохие результаты pngoutwin на изображениях серого объясняются просто: программа не справилась с понижением глубины цвета до 8 бит, если понизить глубину заранее (выше было рассмотрено, как это делается), то pngoutwin справляется с заданием успешнее всех — 2,56МБ (24%).
По всей видимости, на первое место стоит поставить платную программу pngoutwin, на второе — pngout (в паре с optipng для подбора параметра оптимизации изображения), а аутсайдером по качеству является pngcrush.