


Невидимое не значит несуществующее. Оптимизируем PNG (Portable Network Graphics). Алгоритмы уменьшения изображений
Выбор типа PNG
Автоматическая оптимизация
Оптимизация через Lossy GIF
Постеризация
Простое снижение количество цветов в Photoshop
Программа «Color quantizer» и маска повышения качества
Маска влияния в Adobe Photoshop
Уменьшаем детализацию
Невидимое не значит несуществующее
Разделение непрозрачных и прозрачных областей
Резюме
Редактор Adobe Photoshop имеет одну малоизвестную особенность, иногда сильно увеличивающую размер файла PNG.
Попробуйте открыть в Photoshop какую-нибудь фотографию, выделить любым инструментом (например, «Lasso Tool») любой сложный контур, скопировать его в новый документ, после чего сохранить его через «Save For Web» (Alt+Shift+Ctrl+S).

Рис. 3.15. Инструментом «Elliptical Marquee Tool» вырезаем сложный контур
Логично было бы предположить, что полностью прозрачные части заполнены одним прозрачным цветом, чтобы изображение лучше упаковывалось. Оказывается, это не так. Откроем сохран?нное изображение программой XnView, в режиме просмотра выбираем «Рисунок» → «Преобразовать в цветное», в появившемся окошке выбираем «Применить».

Рис.3.16. Результат обработки нашего изображения программой XnView
Как видно, Photoshop оставил в невидимых областях много лишнего. Впрочем, избавиться от этого вполне нам по силам.
Если ваше изображение не содержит полупрозрачных областей, годится следующий простой способ: Ctrl+клик на миниатюре изображения в палитре «Layers», инвертируем выделение (Ctrl+Shift+I), удаляем выделенное (клавиша «Delete») и снова сохраняем наше изображение (Alt+Shift+Ctrl+S).
В случае если полупрозрачные области присутствуют, прид?тся потрудиться немного больше: Ctrl+клик на миниатюре изображения в «Layers», переходим в режим быстрой маски (клавиша «Q»), в диалоге Image → Adjustments → Threshold переставляем бегунок в крайнее левое положение и нажимаем «OK», выходим из режима маски (опять «Q») и инвертируем выделение (Ctrl+Shift+I). После чего заливаем выделенную область ч?рным цветом (Edit → Fill), снова инвертируем выделение (Ctrl+Shift+I) и добавляем к слою маску (иконка «Add Layer Mask» внизу палитры сло?в). Изображение можно сохранять.
В нашем случае, экономия составила 7%. Хотим сразу предостеречь, что этот при?м иногда не уменьшает, а увеличивает размер файла. Дело в том, что формат PNG исключительно хорошо сжимает участки определ?нных типов (например — градиенты), так что если за границей видимого осталась какая-то часть градиента, то она может не мешать, а способствовать сжатию.
Так что хорошая практика — попробовать сохранить оба варианта и выбрать меньший по размеру.