Изображения
Формат PNG: спецификация и направления
Направления в обе стороны: из PNG и в PNG, с параметрами каждого преобразования.
Спецификация PNG
| Полное имя | Portable Network Graphics |
|---|---|
| Разработчик спецификации | PNG Development Group, спецификация — W3C |
| Год публикации | 1996 |
| Расширение | .png |
| MIME-тип | image/png |
| Тип содержимого | Двоичное |
| Модель сжатия | Без потерь |
| Альфа-канал | Есть |
| Многостраничность | Не предусмотрена |
| Сжатие | без потерь (Deflate и фильтры строк) |
| Прозрачность | альфа-канал, 256 уровней |
| Глубина цвета | до 16 бит на канал |
| Анимация | через расширение APNG |
| Сильная сторона | скриншоты, логотипы, графика с текстом |
| Читающие программы | Просмотр фотографий Windows, Фото (macOS), Adobe Photoshop, GIMP, Paint.NET, любой браузер |
| Документ спецификации | Открыть спецификацию |
PNG → другие форматы
| Направление | Что получится | Точность |
|---|---|---|
| .png.jpg | Конвертация PNG в JPG | близкая |
| .png.webp | Конвертация PNG в WebP | близкая |
| .png.pdf | Конвертация PNG в PDF | точная |
| .png.svg | Конвертация PNG в SVG | приблизительная |
| .png.ico | Конвертация PNG в ICO | близкая |
| .png.bmp | Конвертация PNG в BMP | близкая |
| .png.tiff | Конвертация PNG в TIFF | точная |
| .png.gif | Конвертация PNG в GIF | приблизительная |
| .png.avif | Конвертация PNG в AVIF | близкая |
Другие форматы → PNG
Документы
| Направление | Что получится | Точность |
|---|---|---|
| .pdf.png | Конвертация PDF в PNG | близкая |
Изображения
| Направление | Что получится | Точность |
|---|---|---|
| .jpg.png | Конвертация JPG в PNG | точная |
| .webp.png | Конвертация WebP в PNG | точная |
| .heic.png | Конвертация HEIC в PNG | близкая |
| .bmp.png | Конвертация BMP в PNG | точная |
| .gif.png | Конвертация GIF в PNG | точная |
| .tiff.png | Конвертация TIFF в PNG | точная |
| .avif.png | Конвертация AVIF в PNG | точная |
| .ico.png | Конвертация ICO в PNG | точная |
| .heif.png | Конвертация HEIF в PNG | близкая |
| .raw.png | Конвертация RAW в PNG | близкая |
| .cr2.png | Конвертация CR2 в PNG | близкая |
| .jfif.png | Конвертация JFIF в PNG | точная |
Электронные книги
| Направление | Что получится | Точность |
|---|---|---|
| .djvu.png | Конвертация DJVU в PNG | близкая |
Векторная графика
| Направление | Что получится | Точность |
|---|---|---|
| .svg.png | Конвертация SVG в PNG | близкая |
| .ai.png | Конвертация AI в PNG | близкая |
| .cdr.png | Конвертация CDR в PNG | приблизительная |
| .eps.png | Конвертация EPS в PNG | близкая |
Спецификация PNG
PNG собран из типизированных блоков: IHDR с геометрией и глубиной, необязательные PLTE, gAMA, iCCP, tRNS, поток IDAT и завершающий IEND. Сжатие двухступенчатое — построчная фильтрация с одним из пяти предсказателей, затем deflate. Потерь нет: декодированный массив пикселей побитово совпадает с исходным.
Формат поддерживает пять цветовых моделей: полутоновую, полноцветную, палитровую, полутоновую с альфой и полноцветную с альфой, при глубине 8 или 16 бит на канал. Альфа-канал полноценный, восьмибитный, а не однобитная маска. Именно фильтрация делает PNG эффективным на графике: строка, отличающаяся от предыдущей на постоянную величину, после предсказателя Up превращается в последовательность нулей и сжимается почти до нуля. На фотографической текстуре предсказание не работает, и файл выходит в три-пять раз тяжелее сопоставимого JPEG.
PNG-8 — не отдельный формат, а палитровая модель того же PNG: не более 256 цветов в таблице PLTE, прозрачность через блок tRNS. Файл существенно легче, но градиенты распадаются на полосы, а мягкий край логотипа при однобитной прозрачности становится ступенчатым. Разница между «оптимизированным» и обычным PNG — это работа над палитрой, порядком фильтров и удалением необязательных блоков; изображение при этом остаётся математически тем же.
Формат не хранит анимацию (расширение APNG поддерживается не всеми декодерами), не работает в CMYK и не рассчитан на многостраничность. Прозрачность теряется при переводе в JPEG — там нет альфа-канала. Ещё одна практическая деталь: 16 бит на канал полезны при промежуточном хранении в ретуши, но удваивают объём и отбрасываются большинством принимающих систем, которые работают с восемью.
Форматы того же класса
Остальные записи класса «Изображения». Для каждой заведена своя страница с полным перечнем направлений: и от PNG, и к нему.
Вопросы по формату PNG
Почему PNG со скриншотом весит десять мегабайт?
Экран 3840 × 2160 — это 8,3 миллиона пикселей, по четыре байта на каждый в модели RGBA. Сжатие без потерь на интерфейсе с плоскими заливками даёт хороший коэффициент, но фотографические обои на заднем плане и мелкий шум сводят его к минимуму. Уменьшение до реально нужной ширины сокращает файл пропорционально площади: половина стороны — четверть веса.
Что происходит с прозрачностью при переводе в JPEG?
Альфа-канал отбрасывается, а прозрачные и полупрозрачные пиксели смешиваются с подложкой. По умолчанию подложка белая, в параметрах направления её можно заменить. Полупрозрачные края при этом смешиваются корректно, но результат жёстко привязан к выбранному фону: положить такой логотип на цветную страницу без ореола уже не получится.
Даёт ли выигрыш перевод PNG в WebP без потерь?
Да, обычно 20–30 % при математически идентичном изображении: VP8L использует предсказатели на двумерном соседстве и цветовое преобразование, которых нет в схеме фильтр + deflate. Ограничения WebP при этом наследуются: сторона не более 16 383 пикселей и неполная поддержка за пределами браузеров.