Portable Network Graphics

Материал из Википедии — свободной энциклопедии

(Перенаправлено с PNG)
Перейти к: навигация, поиск
Визуализация изображения в формате PNG с 8-битным каналом прозрачности. Шахматный фон обычно используется в графических редакторах в качестве «прозрачного» фона.

PNG (англ. portable network graphics, сокращение произносится по-английски /pɪŋ/[1]) — растровый формат хранения графической информации, использующий сжатие без потерь. PNG был создан как для улучшения, так и для замены формата GIF графическим форматом, не требующим лицензии для использования.

Обычно файлы формата PNG имеют расширение PNG или png и используют обозначение MIME-типа image/png.

Содержание

[править] История формата

Днём рождения PNG можно считать 4 января 1995 г., когда Т. Боутелл предложил в ряде конференций Usenet создать свободный формат, который был бы не хуже GIF. И уже через три недели после публикации идеи были разработаны четыре версии нового формата. Вначале он имел название PBF (Portable Bitmap Format), а нынешнее имя получил 23 января 1995 г. Уже в декабре того же года спецификация PNG версии 0.92 была рассмотрена консорциумом W3C, а с выходом 1 октября 1996 г. версии 1.0 PNG был рекомендован в качестве полноправного сетевого формата.

[править] Область применения

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

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

Формат PNG хранит графическую информацию в сжатом виде. Причём это сжатие производится без потерь, в отличие, например, от JPEG.

Он имеет следующие основные преимущества перед GIF:

Формат GIF был разработан фирмой CompuServe[4] в 1987 г. и доступен изначально для свободного использования[5]. Некоторое время назад, до окончания в 2004 г. действия патентов, принадлежавших Unisys, на алгоритм сжатия LZW[4], используемый в GIF, его применение в свободном программном обеспечении было затруднено. На данный момент такие затруднения сняты. PNG же с самого начала использует открытый, не запатентованный алгоритм сжатия DEFLATE, бесплатные реализации которого доступны в Интернете. Этот же алгоритм используют многие программы компрессии данных, в том числе PKZIP и gzip (GNU zip).

Формат PNG обладает более высокой степенью сжатия для файлов с большим количеством цветов, чем GIF, но разница составляет около 5-25 %, что недостаточно для абсолютного преобладания формата, так как небольшие 2-16 цветные файлы формат GIF сжимает с не меньшей эффективностью.

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

Различные реализации алгоритма Deflate дают разную степень сжатия, поэтому были созданы программы для пережатия изображений с несколькими вариантами настроек в целях получения наилучшего сжатия — например, форк pngcrush OptiPNG и advpng из комплекта AdvanceCOMP (использует 7-Zip).

[править] Мультипликация

Существует одна особенность GIF, которая в PNG не реализована — поддержка множественного изображения, особенно мультипликации; PNG изначально был предназначен лишь для хранения одного изображения в одном файле.

Для передачи анимированных изображений был разработан расширенный формат MNG, опубликованный в середине 1999 года и уже поддерживаемый в различных приложениях, однако пока так и не ставший общепринятым.

Некоторые — в частности, разработчики Mozilla Foundation — критиковали MNG за сложность и большой размер реализации, и отсутствие обратной совместимости с PNG. В 2004 году они разработали формат APNG, который не был принят в качестве официального стандарта разработчиками PNG и MNG, но его поддержка к 2008 году была реализована в тестовых сборках некоторых веб-браузеров и программ просмотра изображений.

[править] Совместимость с браузерами

Не все веб-браузеры одинаково отображают содержимое png-файла. Узким местом являются:

  1. частичная прозрачность (альфа-канал);
  2. поддержка прозрачности в палитре;
  3. гамма-коррекция.

Проблема поддержки 32-битной (полной) прозрачности картинки формата PNG в Microsoft Internet Explorer была решена в седьмой версии браузера. Для остальных версий IE есть несколько способов, которые помогут веб-мастеру добиться прозрачности путём включения в веб-страницу специальных функций и скриптов.

[править] Название

  • Неофициально PNG расшифровывают как «PNG is Not GIF» («PNG — это не GIF») по аналогии с известным рекурсивным акронимом «GNU is Not Unix» («GNU — это не UNIX»).
  • PNG произносится по-английски так же, как слово ping[6], то есть [pɪŋ].

[править] См. также

[править] Ссылки

[править] Примечания

  1. http://www.libpng.org/pub/png/#history(англ.)
  2. A Basic Introduction to PNG Features (англ.)
  3. В PNG количество цветов всё же имеет предел, но, в отличие от GIF, оно ограничено 248 цветами (3×16бит).
  4. 1 2 GIF (Англоязычная Википедия)
  5. Comparison of graphics file formats (Англоязычная Википедия)
  6. A Basic Introduction to PNG Features / Pronunciation(англ.)