формат png что это такое в какой программе
Файл формата png: чем открыть, описание, особенности
PNG (Portable Network Graphics) — графический формат растрового типа, содержащий 8-битную цветовую п.
PNG (Portable Network Graphics) — графический формат растрового типа, содержащий 8-битную цветовую палитру. Разработанный для PNG-файлов алгоритм сжатия Deflate уменьшает размер сохраняемого изображения без потери качества итоговой картинки.
В этой статье вы также узнаете чем открыть файл PNG.
Характеристика
PNG – второе по популярности интернет-форматом после JPG.
Среди прочих достоинств стоит отметить:
Последняя позволяет вшить в изображение все необходимые параметры отображения, чтобы оно на всех экранах выглядело так, как задумывал автор.
У формата 2 версии:
История возникновения
В 1995 году, в эпоху развития свободного интернета, резко встал вопрос о проприетарности сложного формата GIF. Был необходим столь же надежный но бесплатный и свободный формат для обмена графическими данными во всемирной паутине. В это время на международном консорциуме W3C были представлены спецификации PNG 1.0, утвержденные уже в 1996.
Формат создавался как альтернатива GIF. Последний до 2004 года был «закрытым», т. е. имел ряд ограничений для вольного использования (требовал авторских прав владельца при сохранении, патентные лицензии при размещении). PNG лишили подобных недостатков, при этом реализовали поддержку глубины цвета до 48 бит и 8-битного альфа-канала для передачи картинки.
Разработчикам удалось создать плавную прозрачность цветов, невозможную в GIF. В последнем палитра ограничена 8—битным каналом (256 цветов) и поддержкой лишь полной прозрачности.
Чем открыть файлы формата PNG
Сегодня графический формат без проблем демонстрируется в интернет-обозревателе и стандартных средствах для просмотра графики. Если говорить более развернуто — картина следующая: для работы с форматом в каждой ОС предусмотрен свой инструментарий. Рассмотрим подробно, чем открыть формат PNG.
Онлайн
Для просмотра файлов в интернете используйте следующее ПО:
Windows 7-10
ОС семейства Windows открывают PNG-формат следующим способом:
Android
Мобильная ОС располагает такими средствами:
Мобильная кот для Apple работает с PNG-файлами с помощью такого ПО:
MacOS
Для стационарной ОС Apple предусмотрен такой набор программ:
Если говорить только о режиме «read only» (только для чтения), то справится обыкновенный графический обозреватель, встроенный в операционку.
Проблемы с файлом PNG
Указанные файлы имеют недостатки в профессиональной сфере:
Файл формата PNG — что это?
Описание формата PNG
Файл PNG (с англ. Portable Network Graphic) относится к растровым изображениям. Формат PNG содержит определенную палитру цветов, применяемых в рисунке. Подобный графический формат довольно часто применяют в сети Всемирной паутины при наделении веб-страниц различными изображениями. Благодаря использованию алгоритма сжатия Deflate, растровые изображения, имеющие расширение файла PNG, доступны для сжатия без явных потерь качества.
Разработали данный формат файла, чтобы заменить формат GIF, ведь последний длительное время требовал наличия платного программного обеспечения. Среди владельцев веб-ресурсов, изображения PNG славятся отменными характеристиками на фоне подобных форматов. PNG поддерживает глубину цвета в пределах до 48 бит. Основное отличие GIF заключается в том, что такой графический файл ограничивается лишь 8 битами (всего 256 цветов). Следует знать, что в отличие от GIF, PNG не обладает поддержкой анимационных эффектов.
Открыть файл, имеющий расширение PNG, можно при помощи фактически любой программы просмотра. В операционной системе Windows, открыть PNG возможно посредством простого двойного щелчка мыши для просмотра изображений. Такой формат изображений запускается и в любых веб-браузерах. Если пользователю необходимо изменить сохранённое изображение в PNG версии, достаточно воспользоваться утилитами редактирования изображений, такими как Adobe Photoshop или Microsoft Windows Photos, а также Corel PaintShop либо ACD Systems.
Данное расширение файла пользуется большой популярностью и несет в себе всю необходимую графическую информацию для полноцветных изображений хорошего качества.
Формат PNG
PNG (Portable Network Graphics — портативная сетевая графика) — популярный в интернете растровый графический формат файлов, применяющий технологию сжатия без потерь и поддерживающий полупрозрачность (альфа-канал).
Содержание
Создание изображений в формате PNG
Сделать картинку в формате PNG можно с помощью любого графического редактора (в том числе Paint и Photoshop).
Как сохранить картинку в формате PNG в Paint?
Процесс сохранения в формат PNG с помощью редактора Paint в Windows 10:
Откроется контекстное меню.
Откроется модальное окно выбора папки и названия для файла.
Как сохранить PNG-файл в Photoshop?
Процесс сохранения изображений в формате PNG с помощью редактора Adobe Photoshop CC 2015:
Программа поддерживает изображения в самых разных графических форматах.
Откроется контекстное меню.
Откроется модальное окно сохранения.
Активируйте соответствующий чек-бокс, чтобы сохранить файл PNG с прозрачным фоном (альфа-каналом без фона).
Дополнительные настройки для PNG-8:
Изменение изображения в зависимости от выставленных настроек можно контролировать в левой части окна.
Откроется модальное окно выбора папки и названия для файла.
Как сохранить PNG-файл в Illustrator?
Программа Illustrator является графическим редактором компании Adobe, предназначенным для работы с векторной графикой. Функционал программы схож с функционалом Photoshop — для сохранения изображений в PNG-формате в «иллюстраторе» используйте аналогичную функцию «Сохранить для Web»:
Программа поддерживает изображения в самых разных графических форматах.
Откроется контекстное меню.
Откроется модальное окно сохранения.
Откроются дополнительные настройки формата PNG (описаны выше в процессе сохранения PNG через «фотошоп»).
Изменение изображения в зависимости от выставленных настроек можно контролировать в левой части окна.
Откроется модальное окно выбора папки и названия для файла.
Алгоритм сжатия PNG
Главной отличительной особенностью формата PNG является сжатие без потерь данных: в зависимости от компрессора (сжимающей программы) можно уменьшить «вес» изображения в определённой степени.
Оптимизация PNG-изображений
Использует 8-битную глубину цвета (не более 256 индексированных цветов) и возможность использования прозрачных пикселей.
Использует 24-битную глубину цвета и 8-битный альфа-канал (1 677 7216 цветов + канал прозрачности).
Экспортируя изображение из полноцветного PNG-24 в индексированный PNG-8 можно добиться значительного уменьшения размера файла («веса» изображения):
В приведённых выше примерах можно заметить значительную разницу в размере файлов в зависимости от глубины цвета. Также очевидна нехватка цветов: на 256-цветном варианте можно рассмотреть «гранулы», которые становятся значительно более заметны в 128-цветном варианте из-за явного недостатка цветов в палитре.
Применение формата PNG-24 для изображений, использующих небольшое количество цветов, неоправданно увеличивает размер файла.
Следует иметь ввиду, что ограничение цветовой палитры до минимума ведёт к безвозвратной потере данных, которые невозможно восстановить из оптимизированного изображения.
Применяйте PNG-8 только если максимума в 256 цветов будет достаточно для изображения.
В случаях, когда картинка использует до 256 цветов, ограничение палитры может существенно уменьшить «вес» изображения, ни как не отражаясь на качестве его детализации:
Преимущества формата PNG
Недостатки формата PNG
В таких случаях предпочтительным является формат JPG.
Для таких целей используется формат GIF.
Рекомендации по применению формата
Часто задаваемые вопросы
Чем открыть файл в формате PNG на компьютере?
Открыть файлы в формате PNG можно с помощью любых программ для просмотра изображений (в том числе стандартные приложения Windows), всех современных интернет-обозревателей (браузеров), а также векторных и растровых графических редакторов.
Какой программой можно открыть файл PNG?
Список наиболее популярных программ для открытия и редактировать картинок в формате PNG (и во многих других графических форматах):
Как открыть файл PNG в «фотошопе»?
Чтобы открыть любое изображение в формате PNG (а также в любом другом графическом формате) в Photoshop откройте программу и воспользуйтесь функцией Файл → Открыть. (клавиши Ctrl + O ). Таким же способом это можно сделать в любом другом графическом редакторе.
Как сохранить (создать) PNG-файл?
Как изменить формат изображения на PNG?
Изменить формат картинки (фотографии или рисунка) на PNG можно с помощью функции экспорта в графических редакторах или через онлайн-конвертеры.
Как сжать изображение в формате PNG?
Сжатие PNG происходит при сохранении картинки в данном формате, размер файла на выходе зависит от алгоритма сжатия программы, в которой он сохраняется. Если файл PNG необходимо сжать в большей степени, можно изменить глубину цвета (экспорт из PNG-24 в PNG-8) или воспользоваться онлайн-компрессором tinypng.com.
Как уменьшить (изменить) размер файла в формате PNG?
Уменьшить размер PNG-файла можно следующими способами:
О формате PNG. Краткий тест-драйв
Растровый графический формат PNG, набирающий всё большую популярность в эпоху веб 2.0, появился в далеком 1995 году как замена старому доброму GIF (и, частично, TIFF). К тому времени хозяева запатентованного GIF’а решили сбивать четырёхзначные суммы со всех разработчиков, использующих формат, и свободному сообществу ничего не осталось кроме как предложить бесплатную альтернативу.
PNG vs GIF
Так как PNG-24 использует полную палитру цветов, сравнивать его с GIF довольно сложно. PNG-8 с его индексной палитрой здесь более схож. Приведу скриншоты для сравнения:
Практика (как и мнение коллег) показывает, что простые небольшие изображения GIF сжимает лучше. Но, когда речь заходит о больших изображениях, GIF всё же остаётся позади.
Кроме того, ещё одно немаленькое преимущество: на самом деле, вопреки распространённому мнению, PNG-8 тоже может использовать полноценный альфа-канал, как и PNG-24. Просто Photoshop его не поддерживает, поэтому Сергей Чикуенок из студии Лебедева рекомендует использовать Adobe Fireworks, чем я и решил заняться (Об этом немного позже).
PNG vs JPEG
А в этой битве, если прозрачность нам не нужна, PNG проигрывает, так сказать, на «среднем сегменте рынка». Хотя, если прилинковать к JPEG’у ICC-профайл, разница в объёме становится незаметной. Мои замеры приводились на – JPEG 100%. А при меньшем качестве (с не особо заметной для глаза разницей) сравнение, к сожалению, становится ещё более печальным.
В общем, смотрите сами:
UPD А вообще, результаты значительно зависят от самого изображения: PNG лучше сжимает градиенты и однотонные участки, но для фотографий лучшее сжатие даёт JPEG. Хотя, говорят (самому с трудом верится), на больших фотографиях PNG и тут лидирует – проверено только что в процессе конвертирования скриншотов к статье (PNG против JPEG-70% – выигрыш раза в полтора).
Жизнь после Photoshop’а или сжимаем дальше
Во многих ситуациях PNG остаётся вообще незаменимым, так как прозрачность нормально не поддерживается ни одним из альтернативных веб-форматов, а какой простор он открывает дизайнерам и верстальщикам… UPD Кроме того, с учётом специфики формата, для элементов дизайна в вебе – это, наверное, лучшее решение.
Гуглим и качаем – PNGOut. Программка около 1.5 Мб с минимальным количеством настроек позволяет прогонять (в том числе пакетно) PNG-файлы со сжатием.
На пакете иконок (90 файлов с прозрачным фоном без особых наворотов) выигрыш в объёме составил в среднем около 10-15%. Не особо, конечно, впечатляет. Но для рассмотренных выше файлов-примеров процент сжатия колебался от 10% (большой постер без прозрачности) до 72% (полупрозрачные прямоугольники). Так что, попробовать стоит, тем более работа с утилитой много времени не занимает.
Adobe Fireworks
Честно говоря, Adobe Fireworks стал для меня настоящим открытием: PNG-8, PNG-24 и PNG-32 + куча настроек!
3 версии формата в AF:
PNG-24 и PNG-32 я подробно не рассматривал. Насколько я понял, в их терминологии 32 – с альфа-каналом, а 24 – без. По предварительным прикидкам Photoshop справляется с этй задачей лучше.
А вот PNG-8 разбил все мои (и большинства коллег) стереотипы. Итоговый файл гораздо меньше GIF’а и существует полноценная поддержка прозрачности двумя способами: alpha и index transparency. Единственным минусом по сравнению с PNG-24 остаётся индексная палитра, хотя всё зависит от потребностей. Моё личное мнение – PNG-8 в большинстве случаев уделывает и GIF, и PNG-24.
PNG против GIF в AF, хотя как раз с привычными GIF-JPEG Fireworks работает по умолчанию не очень (с настройками я не игрался). Но даже в сравнении с Photoshop’овским результатом разница в пользу PNG:
И вот всё разнообразие PNG-8 — ради этого стоит устанавливать Adobe Fireworks:
Для сравнения: тот же файл стараниями Photoshop весил 3 188 байт против полученных теперь 450, то есть раз в 6 больше.
Вердикт
По-моему, GIF своё уже отжил. Теперь его существование – в первую очередь вопрос инертности общества. UPD Впрочем, сегмент разных анимационных приятностей Всё рано пока остаётся за GIF :).
Для прозрачных элементов дизайна стоит использовать PNG-8 (реже PNG-24, когда палитры PNG-8 недостаточно для сохранения изображения без потерь).
Для фотографий и сложных графических элементов лидером по-прежнему остаётся JPEG из-за мощных возможностей оптимизации изображения. Хотя в некоторых случаях может оказаться достаточно и PNG-8 – как и раньше, с GIF’ом, смелые эксперименты – залог успеха. UPD Но для действительно больших изображений всё же JPEG проигрывает.
Всем веб-дизайнерам и верстальщикам рекомендую устанавливать Adobe Fireworks и взглянуть на PNG в новом ракурсе.
UPD Я действительно не специалист и обзор писался на коленке, о чём говорит эпитет «краткий»; возможно, не на лучших примерах. Поэтому спасибо всем, кто принял активное участие в обсуждении, особенно kmike и @merlin_rterm. В процессе узнал для себя много нового, в частности, специфику сжатия PNG и что JPEG-100 все равно с потерей качества. Большая часть этих интересностей добавлены прямо в тексте статьи, для того, чтобы не отрывать их от контента.
Обновил иллюстрации. К сожалению, сервис, на котором размещены картинки, не хранит PNG, всё равно конвертируя его в JPEG. Но теперь, по крайней мере, качество лучше. Ещё раз повторюсь – моей целью не было сравнивание артефактов, а только килобайты и ещё раз килобайты итоговых файлов.
16 лучших графических редакторов, которые не стоят ни копейки
В этом руководстве мы расскажем вам о том, как произвести различные операции с данным файлом: открытие, редактирование и конвертирование. Также вы узнаете чем открыть формат Png не только на компьютере, но и с помощью онлайн сервисов.
На практике задача является примитивной и может быть с легкостью выполнена сразу же после установки операционной системы Windows без помощи специального программного обеспечения. Ведь в составе ОС уже есть необходимый инструментарий.
Достаточно 2 раза кликнуть по картинке и он откроется с помощью утилиты «Просмотр фотографий Windows».
Помимо него можно выбрать:
Казалось бы на этом можно и закончить, но некоторых не устраивает их минимализм и скудный функционал. Поэтому мы подготовили подборку различных способов открытия картинок с таким расширением, а вы уже решайте, который из них наиболее вас устраивает.
Просмотр, редактирование и конвертация в Windows
Мы нашли самые лучшие платные и бесплатные приложения, которые были разработаны для работы исключительно с графикой. Если разобраться в них более детально, то обнаружиться, что они помогут выполнить практически любые задачи.
Прежде чем открыть файл Png нам естественно понадобится скачать дистрибутивы с официальных сайтов.
Если вы рядовой пользователь и у вас нет серьезных требований к возможностям программы, то смело качайте IrfanView или XnView. Они схожи и являются прямыми конкурентами, но обладают понятным интерфейсом и русской локализацией. Для начала это идеальное решение.
Отметим, что Photoshop это профессиональная рабочая платформа, которую используют уже дизайнеры и специалисты, знающие про формат Png если не всё, то близко к этому. Был включен в данный список исключительно для информации.
Во время инсталляции программа может попросить выставить расширения, которые она будет обрабатывать. Выглядит это примерно так:
Необходимо выбрать только графические изображения. Для этого нажмите на кнопку «Images only» и после этого автоматически обработается весь список. Вы можете проделать это вручную и выбрать только нужные, но зачем нужна такая лишняя трата времени?
Зачем это делать? Помимо картинок такие приложения без проблем открывают видео, часто понимают Djvu, PDF и другие форматы. В контексте подобных задач они не настолько хороши, чтобы применять их для этого. Просмотр фильмов будет 100% неудобным, поэтому лучше доверьтесь в этом плане нам.
После завершения установки вы сможете открывать любые картинки двойным нажатием.
Бесплатные растровые редакторы
Предназначены для создания и редактирования любых немасштабируемых рисунков и фотографий.
Бесплатный графический редактор с открытым исходным кодом. GIMP укомплектован богатым набором функций для рисования, цветокоррекции, клонирования, выделения, улучшений и других действий. Интерфейсом GIMP отличается от популярнейшего Photoshop, но долго искать нужные инструменты вам не придётся.
Команда GIMP позаботилась о совместимости, так что вы сможете без проблем работать со всеми популярными форматами изображений. Кроме того, в GIMP встроен файловый менеджер, похожий на Bridge из программ от компании Adobe.
Photo Pos Pro
Если вы работаете на Windows и не нуждаетесь в таком количестве инструментов, как у GIMP, вашим идеальным редактором может стать Photo Pos Pro. Последний создан с прицелом на редактирование изображений и отлично справляется с типичными задачами вроде регулировки контрастности, освещения и насыщенности. Но Photo Pos Pro подходит и для более сложных манипуляций.
Эта программа может похвастать очень дружелюбным интерфейсом и детальной справкой, которая помогает разобраться новичкам. Если вы сделать Photo Pos Pro ещё функциональнее, к вашим услугам множество расширений и плагинов.
Krita
Ещё один редактор с открытым исходным кодом. Krita существует с 1999 года и постоянно совершенствуется, чтобы соответствовать нуждам концепт-художников, иллюстраторов, специалистов по визуальным эффектам, дорисовке и текстурам.
Программа включает набор самых разных кистей и поддерживает множество плагинов: от продвинутых фильтров до вспомогательных инструментов для работы с перспективой.
В числе самых интересных функций — стабилизаторы кистей, которые сглаживают линии, режим зацикливания для создания бесшовных паттернов и текстур, а также всплывающая палитра для быстрого выбора цвета.
Pixlr
Pixlr предлагает более 600 эффектов, наложений и рамок. В этом сервисе можно делать всё, чего стоит ждать от фоторедактора: изменять размер изображений, обрезать их, удалять эффект красных глаз, отбеливать зубы и многое другое.
Если вы знакомы с Photoshop, то очень быстро освоите веб-версию Pixlr. Интерфейсы этих редакторов очень похожи.
Paint.NET
Paint.NET является альтернативой программе Paint, встроенной во все версии Windows. Но пусть схожесть названий не сбивает вас с толку: Paint.NET гораздо более продвинутый и полезный редактор.
Команда разработки делает упор на простоту использования и совершенствует в Paint.NET скорее функции для редактирования снимков, чем возможности дизайна графики. Тем не менее Paint.NET позволяет управлять перспективой, манипулировать пикселями на холсте, клонировать выделенные зоны и так далее.
Благодаря поддержке слоёв, широкому выбору инструментов для выделения и настроек вроде яркости / контрастности и кривых, Paint.NET можно рассматривать как достойную замену Photoshop.
Sumo Paint
Sumo Paint быстро работает в вебе и справляется с задачами не хуже настольных редакторов. Но для его запуска вам понадобится Adobe Flash Player. Так что Sumo Paint не для iOS-устройств.
Арсенал настроек и функций Sumo Paint включает карандаши, кисти, текст, градиенты, клонирование, формы и не только. Всё это всегда в зоне видимости на плавающей панели вроде той, что вы могли видеть в Photoshop.
Если при открытии возникают ошибки
Если вы не можете открыть файл Png в Windows 7, 8, 10 и ОС выдает сообщение о том, что она не может открыть этот файл, то действовать надо следующим образом:
Все советы многократно проверены на практике и мы смело рекомендуем их выполнять. Никакого вреда это не нанесет.
Другие программы, связанные с расширением PNG
Работаем в онлайн режиме
При желании рисунок с расширением Png можно открыть онлайн в браузере. Для этого существуют специальные сайты, которые представляют из себя обычные редакторы, но их не надо качать. Мы нашли такие ресурсы и представляем те, которые нам понравились больше всего.
Есть еще похожие сервисы, но в целом они не имеют кардинальных отличий, чтобы добавлять их в подборку.
Если файл Png поврежден
К сожалению бывает и такое. Вроде бы уже всё сделали, а нигде открыть не получилось. Скорее всего он содержит ошибки, поэтому вы и не добились успеха. Как действовать в такой ситуации?
Можно попробовать следующие программы:
Найти бесплатные утилиты такого рода очень сложно. Некоторые малоэффективны, другие содержат вредоносный код, поэтому при сильной нужде остается только покупать проверенные временем варианты и имеющие хорошую репутацию.
Оптимизация PNG и JPEG без потери качества. Часть 1
Введение
Предлагаю Вашему вниманию обзор посвященный оптимизации изображений формата PNG и JPEG без потери качества. Под «без потери качества» подразумевается, что визуально оригинальные и оптимизированные изображения ни чем не будут отличаться. Я читал на Хабре довольно много статьей посвященных данному вопросу, но скажу, большая часть — полная чушь, в них констатируются факты, а не причины. Данный обзор посвящен людям, которые имеют базовые знания об оптимизации изображений.
И так, как же происходит оптимизация? Давайте разберемся по порядку, в основном это происходит из-за нескольких причин, и сейчас мы их рассмотрим.
Non-interlaced или Interlaced
Существуют два метода отображения изображений в браузере при загрузке:
В заключении дам пару ссылок, где подробнее рассмотрены способы отображения изображений в браузере при загрузке.
ColorType и BitDepth
ColorType нужен для оптимизации количества цветов в изображении. По этому критерию бываю следующие форматы PNG:
Технология ColorType как раз выбирает тот формат, при котором изображение будет весить меньше всего, но при этом визуально не изменится. Вот пример работы данной технологии (чтобы было честно, изображения были оптимизированы по одному и тому же алгоритму): PNG RGB + alpha — 17 853 байт
PNG Palette — 13 446 байт
Разница в размере — 4407 байт (24%), при этом визуально картинки не изменились. Если Вы видите разные изображение, то это оптический обман.
BitDepth — битовая глубина, бывает двух видов:
Технология BitDepth аналогично ColorType. Вот пример работы данной технологии (чтобы было честно, изображения были оптимизированы по одному и тому же алгоритму):
PNG 4-bit — 6 253 байт
PNG 8-bit — 5 921 байт
Разница в размере — 332 байт (5,3%), при этом визуально картинки не изменились. Если Вы видите разные изображение, то это оптический обман.
Обе технологии поддерживают почти все редакторы изображений, которые умеют сохранять в PNG, но об этом знают мало людей, и по этому разработчикам программ-оптимизаторов PNG приходится об этом заботиться.
Chunks
Если кто в танке не в курсе, PNG состоит из Chunks. Писать, что это такое Chunks не буду, можете сами прочитать. Лучше я покажу, для этого есть программа — TweakPNG, возьмите любое изображение формата PNG и откройте через данную программу и увидите всю структуру PNG.
Есть еще программы наподобие TweakPNG, но она лучшая и удобная. Об остальных программах расскажу в заключении.
Как видно из выше приведенного рисунка, существуют два вида Chunk (столбец Attributes):
Оптимизация палитры
Может быть реализована только в PNG Palette, технология основана на оптимизации chunks PLTE, может уменьшить размер изображения, хотя и не намного. На мой взгляд лучше все это технология реализована в Color Quantizer, один из его алгоритмов был реализован и в TruePNG.
Оптимизация альфа-канала
Про эту технологию узнал от Сергея Чикуенока (Про PNG. Часть 3). Сейчас эта технология развита, и используется очень часть и дает существенный прирост к оптимизации. Главный недостаток — технология вводит изменения в само изображение (в Chunks IDAT), а не в структуру, однако визуально изображение не изменится. Могу привести в пример две программы:
Понимаю, тяжело понять, о чем я пишу, лучше покажу пример (чтобы было честно, изображения были оптимизированы по одному и тому же алгоритму, первое изображение с альфа-каналом, другое без альфа-канала).
Оригинальное изображение. Размер — 214 903 байт.
Алгоритм сжатия Deflate + Фильтрация строк
Как мы же говорили, PNG состоит из Chunks, в данном случае, нас интересует Chunks — IDAT. Для его сжатия в основном играют два фактора, фильтрация строк и алгоритм сжатия Deflate. Давайте об этом поговорим поподробнее.
Фильтрация строк
Фильтры, которые применяются в PNG, нужны для того, чтобы подготовить данные к сжатию и таким образом увеличить его степень. Фильтр обрабатывает каждую строку таким образом, чтобы приходилось кодировать не сами значения байтов, а разницу между текущим и предыдущим. От фильтра зависит, какой считается предыдущим.
Вообще говоря, нет каких-то определенных рекомендаций, какой фильтр выбирать. Для каждой строки можно выбрать свой фильтр, поэтому часто просто применяют все фильтры подряд и смотрят, с каким сжатие получается лучше всего. Существует еще один фильтр — Adaptive, — можно сказать это «микс» из фильтров. Фильтры поддерживают почти все программы оптимизаторы PNG, но лично мне известны только две программы, которые имеют более продвинутую систему создания фильтров:
PNGOut не создает такие фильтры, однако в новой версии появилась поддержка встроенных фильтров. Это было сделано по моей просьбе.
Алгоритм сжатия Deflate
На сегодняшний день есть несколько библиотек, основанных на алгоритме сжатия Deflate:
БиблиотекаDeflate | Скоростьработы | Степеньсжатия | Программы | Примечание |
Zlib | Высокая | Низкая | TruePNG OptiPNG PNGWolf | Благодаря высокой скорости работы может быстро перебрать большое количество значение параметров и выбрать оптимальные. |
7-zip | Средняя | Средняя | AdfDef PNGWolf | Не всегда выбранные значения параметров в Zlib являются для них оптимальными (близки к оптимальным). Перебор значений параметров будет занимать большое количество времени и почти всегда затраченное время не оправдывает полученный результат. |
Kzip | Низкая | Высокая | PNGOut |
PNGWolf использет одновременно и Zlib, и 7-zip.
Важно
: все эти программы дополняют друг друга, и они сильны, когда едины. Это самое большая проблема, когда их используют отдельно, а потом сравнивают полученные результаты. В первую очередь надо использовать Zlib, а потом уже 7-zip и/или Kzip.
В следующей части мы поговорим об этих программах поподробнее, а также построим три алгоритма оптимизации PNG (с учетом оптимизации альфа-канала) по степени сжатия и затраченного времени. Ниже приведен условный график зависимости степени сжатия от затраченного времени на оптимизацию Chunks IDAT.
Как видно из графика, чем больше степень сжатия, тем больше времени требуется.
И еще немного…
Здесь мы поговорим о двух программах:
Рекомендую их использовать в самом конце оптимизации PNG и в том порядке, котором написал выше. Могут уменьшить размер PNG на несколько десятков байт, при этом скорость работы очень высокая.
Итак мы переходим к JPEG, здесь все гораздо проще, и так продолжим. Но перед этим скажу, что JPEG нельзя пересохранить не потеряв качество, даже со степенью качеством 100 (это не максимальное качество, а математический предел оптимизации). Рассмотрим следующий пример (чтобы было честно, изображения были оптимизированы по одному и тому же алгоритму).
Оригинальное изображение — 52 917 байт.
Новое изображение (сохранен через Adobe Photoshop CS5, Save for Web 100) — 53 767 байт
Строим diff-разницу изображений.
Вот так вот сильно изменилась картинки, да, визуально ничего не заметно. Как видно размер картинки увеличился. Это из-за специфики библиотеки, которая создает JPEG, о библиотеках поговорим чуть позже.
Есть только одна программа, которая позволяет пересохранить изображения в JPEG не потеряв качество — BetterJPEG (есть плагин к Adobe Photoshop). Если не ошибаюсь, для жителей стран СНГ для некоммерческого использования программа бесплатная. Лично я использую BetterJPEG, когда нет исходника и требуется незначительное редактирование изображения. Рассмотрим пример работы BetterJPEG.
Новое изображение (усложняем ситуацию, добавляем надпись «HTML»).
Строим diff-разницу изображений.
Markers
Progressive и Optimized
Существуют три метода отображения изображений в браузере при загрузке.
Подробнее об этом можно прочитать в статье «Оптимизация изображений, часть 4: последовательные JPEG — быть или не быть?»
Библиотека создания JPEG
А вот здесь начинается самое интересное. Никто не задумывался, как создается JPEG? Оказывается, существуют библиотеки, и их не так и много, рассмотрим некоторые из них:
Помните, когда мы пересохраняли изображение в JPEG, вышло, что новое изображение больше оригинала. Это связано из-за специфики библиотек. Вот небольшой обзор работы библиотек — Corel Painter vs Adobe Photoshop.
Сказать какая из двух библиотек оптимизирует лучше, вопрос очень сложный и не однозначный, но из-за очень высокой скорости работы JPEGTran, Вы просто не замечаете его работу, только не забывайте проверять размер изображения, увеличился или нет, Все это можно сделать и через bat. Помните, JPEGTran может переводить JPEG из Progressive в Optimized и наоборот, не изменяя саму картинку.
Заключение
Это конечно все причины, но наиболее существенные. Почти со всеми авторами приведенных программа я общался, и все они очень талантливые люди. Хотел отдельно поблагодарить x128
за огромную помощь в изучении оптимизации изображений.
Подробнее о способах отображения изображений в браузере при загрузке можно прочитать:
Чтобы убедиться, что вышеописанные способы действительно оптимизируют без потери качества, предлагаю посмотреть способ построения diff-разницы изображений. Для более полного представлении об оптимизации, рекомендую прочитать следующие статьи:
Дополнительно программное обеспечение, которое рекомендую использовать, при изучении структуры изображений и не только:
В заключении, бы хотел поговорить об онлайн-сервисе оптимизации изображений — PunyPng. Не могу сказать, что он совершенен с точки зрения оптимизации, но на сегодняшний день он лучший из тех, которых я встречал.