Открыть сервис

PNG

PNG (Portable Network Graphics, произносится «пинг») — это формат растровых графических файлов, предназначенный для хранения изображений с использованием сжатия без потерь. PNG был создан как свободный и более совершенный аналог формата GIF, лишённый его недостатков, и поддерживает палитровые, полутоновые и полноцветные изображения, а также прозрачность (альфа-канал).

История

Разработка формата PNG началась в 1994 году после того, как компания Unisys заявила о своих патентных правах на алгоритм сжатия LZW, используемый в формате GIF. Это вызвало обеспокоенность в интернет-сообществе, так как GIF был одним из основных форматов для графики в вебе. Инициативная группа разработчиков, вдохновлённая идеей создания свободного и открытого стандарта, опубликовала первую версию спецификации PNG (RFC 2083) в 1996 году. В 2003 году PNG был принят в качестве международного стандарта ISO/IEC 15948.

Основными целями при создании PNG были:

  • Замена GIF в качестве свободного формата без лицензионных ограничений.
  • Обеспечение лучшего сжатия без потерь, чем у GIF.
  • Поддержка большего количества цветов (до 48 бит на пиксель) и альфа-канала для полупрозрачности.
  • Отсутствие анимации (в отличие от GIF, анимация не была предусмотрена; позже появился формат MNG, основанный на PNG, но он не получил широкого распространения).

Характеристики и устройство

Сжатие без потерь

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

Цветовые модели и глубина цвета

PNG поддерживает три основных типа изображений:

  • Палитровые (индексированные цвета) — до 256 цветов, заданных в палитре. Используется для простой графики, иконок и рисунков с малым количеством цветов.
  • Полутоновые (grayscale) — оттенки серого, с глубиной от 1 до 16 бит на канал.
  • Полноцветные (truecolor) — полноцветные изображения, с глубиной 8 или 16 бит на каждый из трёх каналов (RGB). Общая глубина может достигать 48 бит на пиксель.

Прозрачность (альфа-канал)

PNG поддерживает два типа прозрачности:

  • Простая бинарная прозрачность — для палитровых изображений, где один цвет в палитре объявляется полностью прозрачным.
  • Полупрозрачность (альфа-канал) — для полноцветных и полутоновых изображений. Альфа-канал может иметь глубину от 1 до 16 бит, что позволяет создавать плавные переходы прозрачности (например, тени, блики, сглаживание краёв).

Интерлейсинг (чересстрочная развёртка)

PNG поддерживает интерлейсинг по алгоритму Adam7, который позволяет постепенно загружать изображение, начиная с низкого разрешения и увеличивая детализацию. Это полезно для медленных соединений, но увеличивает размер файла.

Метаданные

Формат позволяет хранить текстовые метаданные (например, автора, описание, время создания) в виде ключевых слов и значений. Также поддерживается встраивание цветовых профилей (ICC) для точной цветопередачи.

Применение

PNG является одним из наиболее распространённых форматов для веб-графики, особенно в тех случаях, где требуется:

  • Чёткость и резкость — для логотипов, иконок, кнопок, скриншотов, текста и схем.
  • Прозрачность — для изображений, которые должны накладываться на фон произвольного цвета (например, логотипы на сайтах, элементы интерфейса).
  • Сохранение качества — для изображений, которые будут многократно редактироваться и пересохраняться (например, промежуточные версии графики).

В отличие от JPEG, PNG не подходит для хранения фотографий с плавными переходами цветов, так как сжатие без потерь приводит к большому размеру файла для таких изображений. Для фотографий обычно используется JPEG, а для фотографий с прозрачностью — PNG-24 или WebP.

Сравнение с другими форматами

ХарактеристикаPNGGIFJPEG
СжатиеБез потерьБез потерьС потерями
Глубина цветаДо 48 бит (truecolor + альфа)8 бит (256 цветов)24 бита (truecolor)
ПрозрачностьПолная и полупрозрачностьТолько бинарная (один цвет)Не поддерживается
АнимацияНе поддерживаетсяПоддерживаетсяНе поддерживается
Размер файлаБольшой для фотографийМалый для простой графикиМалый для фотографий
ЛицензияСвободныйСвободный (патентные ограничения сняты)Свободный

Интересные факты

  • Официальное произношение названия формата — «пинг», однако в русскоязычной среде распространено произношение «пэ-эн-гэ» или «пи-эн-джи».
  • PNG поддерживает до 16 миллионов цветов (truecolor) и альфа-канал, что делает его предпочтительным для веб-дизайна, где требуется прозрачность.
  • Формат PNG не поддерживает анимацию. Для анимированной графики с прозрачностью и сжатием без потерь используется формат APNG (Animated PNG), который является расширением PNG, но не является частью основного стандарта.
  • В 2004 году компания Unisys признала свои патенты на LZW недействительными, что сняло юридические ограничения с использования GIF, однако PNG к тому моменту уже прочно занял свою нишу.

Источники

  • ISO/IEC 15948:2003 — Information technology — Computer graphics and image processing — Portable Network Graphics (PNG): Functional specification.
  • RFC 2083 — PNG (Portable Network Graphics) Specification, Version 1.0.
  • W3C — Portable Network Graphics (PNG) Specification (Second Edition).
  • «PNG: The Definitive Guide» by Greg Roelofs, O'Reilly Media, 1999.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →