Простое введение в особенности формата
Greg Roelofs, <[email protected]> http://pobox.com/~newt
Иван Зенков, <[email protected]>
Dimok Busheff, <[email protected]>
Данный документ предназначен для разъяснения некоторых особенностей формата PNG обычным пользователям, по этому здесь вы не увидите акцентирования внимания на таких вещах как свобода PNG от патентов, поскольку они в первую очередь касаются лишь программистов. Встречающаяся техническая информация призвана объяснить пользователю почему различные приложения не работают так как он от них этого ожидает. В случае тестов с производительностью (особенно в сравнении с другими графическими форматами) предполагается, что используемая реализация находится PNG на уровне лучших реализации freeware-кодеров. Обратите внимание, что в настоящие время возможны проблемы даже при использовании некоторых популярных (и дорогих) графических редакторов.
Вот ещё несколько страниц сторонних авторов, с различными взглядами на PNG:
Примечание:
Прошу вас особенно обратить внимание на то, что весь нижеприведённый текст это по сути перевод A Basic Introduction to PNG Features (ни о каком GFDL здесь и речи быть не может). По ходу дела я буду высказывать своё скромное мнение на счёт PNG в частности и графики вообще (и вот это мнение уже может распространяться под GFDL).
Если найдёте какие-то неточности, устаревшие фрагменты в данном документе или новые особенности и недостатки PNG не описанные здесь, то Greg ждёт от вас писем. Ну, а я в свою очередь жду исправлений, дополнений и так далее, к самому переводу.
Область применения
Формат PNG (Portable Network Graphics) спроектирован для замены устаревшего и более простого формата GIF, а также в некоторой степени для замены значительно более комплексного формата TIFF (см. официальный сайт PNG или хронологическую страницу для дополнительной информации). В данном документе мы сосредоточимся на двух основных направлениях в использовании формата. Первое, использование во всемирной паутине (WWW) и второе, графическое редактирование.
Для вэб PNG действительно имеет три основных
преимущества перед GIF: альфа-каналы (переходная
прозрачность), гамма-коррекция (межплатформенное управление яркостью
изображения), двумерная чересстрочность (метод прогрессивной
развёртики). Он обладает превосходным уровнем сжатия по сравнению с
Для редактирования изображения, как профессионального так и не очень, PNG предоставляет отличный формат, даже для хранения промежуточных стадий редактирования. Поскольку сжатие происходит полностью без потерь и поскольку формат поддерживает 48-битный «truecolor» или 16-битный «grayscale«, сохранение, восстановление и пересохранение изображения проходят без потерь в качестве в отличии например от стандартного JPEG (даже с максимально высоким уровнем качества). В отличие от TIFF
За перечислением плюсов PNG, прошу обратить ваше
внимание, что часто для обмена целостными «truecolor»
изображениями (особенно фотографическими) JPEG —
почти всегда лучший выбор. Хотя сжатие JPEG производиться с потерями при которых могут появляться артефакты, их
всё же можно минимизировать, а вот размер файла даже на
высококачественном уровне значительно меньше, чем в случае с
форматами сжатия без потерь, вроде того же
Примечание:
В последнем случае я с автором всё таки не согласен. Да
действительно часто предпочтительней использовать JPEG,
особенно для фотографий. Но это лишь в том случае, когда изображение
не имеет для вас первичного приоритета, то есть второстепенно.
Отправляя же например свою фотографию девушке, я бы не рискнул
сохранить её в JPEG. Не говоря уже о таких случаях,
когда я девушке отправляю не свою фотографию, а изображение своего
рабочего стола. В последнем случае все эти артефакты всё равно
проявятся и испортят общее впечатление от моих огромных
Сжатие
PNG обладает лучшим уровнем сжатия без потери информации и без патентных отчислений, но к сожалению далеко не все реализации полностью используют доступные возможности и даже те которые таковые возможности используют, могут быть неправильно применены.
PNG поддерживает три основных типа изображения, это: «truecolor«, «grayscale» и индексированное на основе палитры (8-битный). JPEG поддерживает только два первых, а GIF лишь третий (хотя при использовании серой палитры может фальсифицироваться и «grayscale«). Плотность сжатия происходит из способности смешивать различные типы изображения в одном PNG файле. Заставляя приложение сохранить 8-битное изображение как 24-битный «truecolor» (или RGB), в результате вы не получите маленького файла. Это может быть неизбежно в случае когда оригинал был изменён с добавлением более 256 цветов (например если в качестве фона был добавлен сплошной градиент), но многие изображения преднозначеные для сети, состоят из 256 цветов, а иногда и всего из нескольких (например из десяти).
Основная ошибка, это включение слишком большого количества данных палитры в PNG изображение. Эта ошибка наиболее заметна при конвертировании небольших GIF изображений (маркеров, кнопок и др.) в формат PNG. Эти изображения занимают в среднем 1000 байт и содержат 256 вводных в палитру данных из которых необходимы лишь 50, что приводит более чем к 600 байтам потраченного впустую пространства.
Примечание:
Имеется введу сохранение индексированного изображения в RGB, RGBA или просто с лишними данными в палитре, то есть лишними цветами.
Другая ошибка, использовать один тип фильтра сжатия или его неправильную подборку. Фильтры сжатия будут описаны ниже, с их помощью можно добиться поразительного различия в уровне сжатия изображения. Хотя на самом деле это не та особенность с которой должен экспериментировать пользователь.
Под конец ещё несколько слов о сжатии. Механизм сжатия может быть установлен на быстрый или качественный уровень. Часто «качественное сжатие» предпочтительнее, но иногда может быть выбран промежуточный уровень, например для повышения интерактивной производительности. Обычно (независимо от настроек) различия в размере файлов минимальны, но порой они бывают просто огромны.
Примечание:
Обратите внимание, что какой бы уровень сжатия вы не выбрали, качество изображения абсолютно не изменится измениться лишь время его загрузки.
Для дополнительной информации относительно механизма сжатия PNG и алгоритма CRC-32 посетите официальный
сайт zlib. Для альтернативной реализации алгоритма сжатия
посетите официальный сайт 7-Zip и
почитайте «Введение
в компрессию» для описания сжатия вообще. Для инструментария
оптимизации и сжатия PNG изображений, посетите
страницу со списком конвертеров
(особое внимание обратите на
Примечание:
Автор не упомянул наверное одну из лучших программ в своём роде, называется она OptiPNG (542KB) и доступна «as-is» под несколько операционных систем (существует ещё версия OptiPNG Plus, но у неё с «public-domain» проблемы).
Лучшей OptiPNG я посчитал из-за простоты использования хотя бы по сравнению с тем же pngcrush, о котором упоминалось выше.
Итак, за собственно сам уровень сжатия в OptiPNG отвечают следующие ключики:
- -i: тип чересстрочности (0-1)
- -zc: уровни сжатия zlib (1-9), по умолчанию 9
- -zm: уровни памяти zlib (1-9), по умолчанию 8
- -zs: стратегии сжатия zlib (0-2)
- -f: дельта-фильтры PNG (0-5)
Справку по остальным ключам программы можно получить набрав optipng —help, впрочем нам они всё равно не понадобиться, как не понадобятся и выше перечисленные ключики. Разработчик OptiPNG позаботился о пользователях, снабдив программу специальным ключом оптимизации -o (0-7), по умолчанию 2. По сути ключ -o это определённая комбинация из вышеперечисленных ключей. Так -o2 будет -zc9 -zm8 -zs0-2 -f0,5, а -o3 будет -zc9 -zm8-9 -zs0-2 -f0,5, самым же эффективным является -o7 тест с которым я и покажу.
Для теста было выбрано олигархическое полотно замечательного художника Владимира Куша, предварительно обработанное GIMP’ом (стабильная версия 1.2) и сохранённое в RGBA как PNG с отключёнными параметрами и степенью сжатия 9. В результате было получено изображение в 135168 байт, если верить моему кривому du. Сжатие производилось OptiPNG версии 0.4.3, осуществлялось командой optipng -k -o7, ключ -k нужен, чтобы при оптимизации не был удалён оригинальный файл. В результате файл с оптимизированным изображением весил 118784 байт полагаясь на тот же du.
Как видите, оптимизация налицо, и всё это без каких-нибудь потерь в качестве (да в случае с PNG их и не могло быть). Так первое изображение (слева) это оригинал сохранённый в GIMP‘е (помните максимальный уровень сжатия?), второе — оптимизированный вариант.
«Чудо» — скажете вы и будете в корне неправы, ведь чудеса если и бывают, то явно не в данном случае. Нет это действительно было не чудо, это была ещё одна распространённая ошибка. Некоторые люди создавая новое изображение в GIMP‘е (да и других редакторах) выбирают прозрачный фон в качестве заливки (в диалоге «Новое изображение» GIMP‘а даже раздел «Тип заливки» имеется), и, почему-то, им кажется, что раз прозрачный, то и на размере это не отразиться. Разумеется, на размере это отражается, и отражается в большую сторону, поскольку добавляется альфа-канал (помните, что изображение я сохранил в RGBA?). OptiPNG, как программа умная, всё это замечает и удаляет, предоставляя нашему вниманию нормальное изображение. GIMP за сим же процессом ещё при сохранении не следит полагаясь на благоразумность пользователя. Бороться с ошибкой можно выбирая в качестве заливки какой-нибудь цвет ещё при создании изображения (в GIMP‘е начиная с версии 1.3, можно вообще на задавать заливку, получив весьма странный нулевой фон). А OptiPNG действительно замечательная программка, она позволяет избавить PNG файл не только от программных ошибок, но и от людских тоже. Советую, особенно для оптимизации больших коллекций, Бог знает кем и как созданных изображений.
Фильтры сжатия
Фильтры сжатия — способ преобразования графических данных (разумеется без потерь) для улучшения уровня сжатия. Каждая горизонтальная линия в изображении может иметь один из пяти типов фильтров. Выбор какой именно фильтр из пяти использовать для каждой строки, это скорей больше чёрная магия, чем наука. Однако, по крайней мере один действительно хороший алгоритм не только известен, но даже описан в спецификации PNG и реализован в свободно доступном программном обеспечении. Вероятно найдутся алгоритмы которые будут работать ещё лучше, но пока это не было центральной областью исследований.
Посредством примера (по общему признанию критический и нереалистичный случай), 512 x 32,768 изображение содержит все 16,777,216 возможные в 24-бита цвета, сжимается более чем в 300 раз лучше с фильтрацией, чем без. Несжатое изображение весило 48MB, сжатое, но без фильтров 36MB, а версия с фильтрами всего 115,989 байт (0.1 MB). Более того, Paul Schmidt создал 4096 x 4096 версию размером 59,852 байт, с общим коэффициентом сжатия 841:1, что более чем в 600 раз лучше версии без фильтров. Ted Samuels пропустил всё это через утилиту Ken‘а Silverman‘а PNGOUT (ссылки на другие конвертеры ищите на специальной странице) и урезал до 57,549 байт, добившись тем самым коэффициента в 875:1 (см. эту страницу для загрузочной версии и дополнительной информации).
Более реалистичный пример с океанографическими данными NASA на сайте Ocean ESIP. Цифровые карты отображающие различные физические измерения, могут быть динамически сгенерированы в GIF или PNG. PNG версии неизменно равны одной-пятой версии GIF, благодаря фильтрам сжатия. Для примера, карта показывающая высоту поверхности северо-восточного Тихого океана 1 Августа 1997 года (во время El Niño) занимает 70,090 байт в GIF, и всего 13,880 байт в PNG (см. главу Алгоритмы фильтров из PNG спецификации).
Как измерение, всё это просто кажется нереалистичным, однако заметьте, что эти, с виду гиперсжатые, PNG могут самостоятельно быть сжаты с дополнительным коэффициентом где-нибудь приблизительно от 21 до 97 (в зависимости от изображения) простым применением gzip. Конечно, gzip PNG не так ужасно полезны в большинстве случаев, а вот MNG хорош для всего, сокращая размер на 456 байт.
Альфа-каналы
Также известный как маска-канал, альфа-канал это просто способ объединить переходную прозрачность с изображением. Принимая во внимание, что GIF поддерживает простую бинарную прозрачность (это когда любой пиксель может быть либо полностью прозрачным, либо абсолютно непрозрачным), PNG позволяет 254 уровня частичной прозрачности между нормальным изображением (или 65,534 уровня прозрачности для специальных «очень безумных» форматов, но здесь мы больше концентрируемся на изображениях, используемых в интернете).
Все три типа PNG изображений («truecolor«, «grayscale» и индексированная палитра) могут содержать альфа-информацию, хотя обычно она применяется лишь с «truecolor» изображениями. Вместо того, чтобы сохранять три байта для каждого пикселя (красный, зелёный и синий), сохраняются четыре: красный, зелёный, синий и альфа, таким образом получается RGBA. Вся эта переходная прозрачность позволяет вам создавать замечательные «спецэффекты», хорошо выглядящие на любом фоне. Например эффекта фотовиньетки, для портрета, можно добиться путём установки полностью непрозрачной центральной области (то есть для лица и плеч), прозрачной остальной обстановки и с созданием плавного перехода между двумя этими различными областями. Рассматривая изображение в браузере типа Arena, портрет будет плавно осветляться на белом фоне, и затемняться на чёрном. Ещё один идеальный спецэффект с альфа-прозрачностью, это отбрасывание тени. Так на изображениях ниже показан тукан, в первом случае отбрасывающий тень на красочный фон, во втором на свою копию.
Эта особенность с прозрачность наиболее важна для маленьких изображений, обычно используемых на вэб-страницах, вроде цветных (круглых) маркеров или причудливого текста.
Альфа-смешивание позволяет использовать другой эффект, а именно сглаживание (anti-aliasing) создавая иллюзию гладких кривых на сетке прямоугольных пикселей плавно изменяя их цвета, что позволяет добиться округлых и кривых изображений, хорошо отображаемых как на белом (к примеру), так и на любом другом фоне. Таким образом одно и тоже изображение может быть многократно использовано в нескольких местах без «призрачного» эффекта, свойственного GIF изображениям.
Примечание:
Я не очень-то понял, в чём заключается этот «призрачный эффект». Было несколько вариантов, среди которых наибольшую проблему в GIF у меня вызывали изображения созданные для одного фона, но наложенные на другой, приблизительно так же, как я сделал со знаменитым зверьком O’Reilly Network, только ещё хуже.
Конечно эффективная замена GIF-кнопкам и иконкам должна быть сравнима по размеру, и часто приходится исключать «truecolor» RGBA изображения. Впрочем точно также PNG поддерживает альфа-информацию и в случае с индексированными изображениями, просто это намного труднее осуществить. Изображение в PNG с альфа-индексацией — это изображение, чья палитра обладает альфа-информацией, связанной с ней, а не индексированное изображение с полной альфа-маской. Другими словами каждый пиксель соответствует данным из палитры с красными, зелёными, синими и альфа компонентами. Так, если вы хотите получить яркие красные пиксели с четырьмя различными уровнями прозрачности, вам потребуется использовать четыре отдельных ячейки в палитре, чтобы их индексировать (все четыре ячейки обладают идентичными RGB компонентами, но альфа значения различаются). Если вы хотите чтобы все ваши цвета имели четыре уровня прозрачности, вам проще сократить общее количество доступных цветов с 256, до 64. В основном только некоторые цвета нуждаются более чем в одном уровне прозрачности, и выяснение какие именно, процесс требующий определённой мудрости. Можно взглянуть на программу pngquant, которая конвертирует 32-битные RGBA PNG в 8-битные изображения с RGBA-палитрой. Для программистов доступен исходный код программы.
Для более лучшего объяснения с красивыми примерами, смотрите главу «Прозрачность и сглаживание» замечательной WWW4 статьи Chris‘а Lilley‘я Не просто декорация: Качественная графика для вэб.
Примечание:
К стати, поразительная вещь, но GIMP, кажется, об этом не в курсе. Сколько раз я не пытался сохранить в нём прозрачное индексированное PNG изображение, мои попытки оканчивались неудачей. То есть RGBA пожалуйста, «grayscale» на здоровье, а вот чтоб индексированное с прозрачностью, ни в какую. Что же всё таки делать, если понадобилось небольшое прозрачное изображение? Ну, выход, как всегда, есть, и о нём уже говорилось выше, нужно просто использовать pngquant (24KB).
В начале я создал обычное RGBA изображение, взяв за основу уже индексированную когда-то картинку (не очень сильно) с персонажем замечательной игры DROD. Затем командой pngquant 64 rgba.png получил нужное мне индексированное изображение с прозрачностью. Там где 64, я установил количество необходимых мне цветов, а rgba.png это файл первого изображения. Думаю несложно догадаться, что первое изображение это и есть мой первоначальный вариант (весил он 12288 байт), а второе это индексированный вариант с прозрачностью (занимал всего 8192 байт).
Индексированное подобным образом изображение, успешно отобразили GQview (не создав иконки в предварительном просмотре), Opera и Mozilla. Проблемы были разумеется с GIMP‘ом (версии 1.2, 1.3) и Konqueror’ом (версии 3.1.4).
Впрочем, несмотря на все минусы, единственным способом уменьшить размер PNG файла, помимо сжатия, остаётся индексирование. А в случае когда с индексированием необходим ещё и альфа-канал, pngquant становиться практические незаменимым инструментом. И очень жаль, что свободное ПО таких масштабов как GIMP не знает всех возможностей формата PNG, да ещё и при том, что исходники того же pngquant доступны «as-is«.
Гамма-коррекция
Гамма-коррекция существует для исправления различий того, как компьютеры (а особенно мониторы) интерпретируют цветовые значения. Вэб-дизайнеры, вероятно, знают случаи, когда созданные на Macintosh изображения выглядят слишком тёмными на PC, или созданные на PС выглядят слишком светлыми на Mac‘ах. Изображение, которое хорошо смотрится на SGI Workstation, не хочет отображаться на Macintosh или PC. Изображение созданное на одном PC неверно отображается на всех остальных.
Гамма-информация — частичное решение. Это способ связи некоего числа с компьютерной системой отображения, в попытке характеризовать хитрую физику, скрывающуюся в пределах цифро-аналогового конвертера графической карты (RAMDAC) и в высоковольтной электронной пушке монитора.
Параметр гамма — это только приближение к действительности. Лучшей аппроксимацией является использование так называемых значений цветности (chromaticity values — также поддерживаемых в PNG), в качестве той же гаммы, но даже это лишь приближение. Самое лучше решение, доступное на данный момент, это использование системы управления цветом (которая опять же поддерживается PNG через расширение фрагментом sRGB). Стоит, однако, сказать, что для большинства людей достаточно лишь установить гамму изображения и настроить гамму системного монитора.
Для дополнительной информации смотрите руководства Chris‘а Lilley: гамма, цветность и управление цветом, или почитайте «Гамма-руководство» в дополнении к спецификации PNG. Для более детальной технической информации смотрите «FAQ: Гамма и цвет» Charles‘а Poynton‘а, официальный сайт Интернационального Цветового Консорциума, домашнюю страницу sRGB или главу «Гамма-коррекция» в статье Chris‘а Lilley Не просто декорация: Качественная графика для вэб.
Чересстрочность
Чересстрочность или прогрессивная развёртка, была известна на протяжении долгого времени. GIF стал поддерживать её с 1989-го, TIFF приблизительно в тоже время (хотя не стандартизированным путём), JPEG с начала 90-ых (хотя это не было широко распространено до 1996-го). Метод чересстрочности PNG концептуально схож с GIF и визуально подобен прогрессивному JPEG (то есть, двухмерен).
Вот GIF анимация (автор Willem van Schaik), показывающая преимущества двухмерной чересстрочной схемы PNG, по сравнению с одномерной версией GIF.
Первое, на что следует обратить внимание, так это на то, что пока видна приблизительно одна восьмая изображения в GIF, PNG изображение уже становиться видимым сразу же после выполнения первого прохода. Первый проход PNG это только 1/64-ая часть данных изображения. Первый проход GIF 1/8-ая. К тому времени, когда первый проход GIF завершился, уже были отображены четыре прохода PNG, и в отличие от GIF-пикселей, растянутых с коэффициентом 8:1, пиксели PNG были растянуты лишь на 2:1. Более того, на самом деле в нечётных проходах никакого растяжения нет вообще и только чётные растягиваются вертикально на 2:1. Это означает, что, например, внедрённый в изображение текст будет доступен для чтения в два раза быстрее, в PNG изображении.
Смотрите чересстрочную демонстрацию PNG для «увеличенного» взгляда на то, как PNG отображает чересстрочные пиксели, или читайте главу «Представление данных» из PNG спецификации для деталей относительно чересстрочной схемы формата PNG.
Проверка целостности файла
PNG поддерживает три основных типа проверки целостности, для помощи программам в работе с файлами. Первый и самый простой — 8-байтная магическая сигнатура в начале любого PNG изображения. Позволяет обнаружить наиболее основное повреждение файла — передачу бинарного файла в текстовом (или ASCII) режиме. На большинстве систем, окончание строки в текстовых файлах отмечается символом возврата каретки (CR), символом перевода строки (LF), либо и тем и другим сразу. Macintosh используют CR, UNIX системы используют LF, все остальные не UNIX системы на PC (DOS, Windows 3.x/95/NT, OS/2) используют CR/LF. Магическая сигнатура PNG грамотно включает как CR/LF, так и LF. Так, для теста передадим в текстовом режиме изображение, на DOS-машину, к LF будет добавлен CR. На UNIX-системах, CR/LF будут преобразованы в обычный LF. На Macintosh и CR/LF, и LF будут преобразованы в CR. Для того, чтобы узнать произошло ли текстовое искажение, достаточно взглянуть на первые восемь, девять байт файла (команда file в UNIX спроектирована специально для таких вещей). Имейте введу, что проблема не в испорченной сигнатуре, реальная проблема состоит в том, что символы CR и LF в данных изображения могут быть опознаны не как конец строки или текст, а как значения пикселей или более абстрактные лексемы компрессора, и все эти символы будут также преобразованы, таким образом разрушая изображение.
Второй тип проверки целостности известен как 32-разрядный циклический контроль избыточности или CRC-32. PNG изображение делится на логические кусочки данных и с каждым кусочком связываются CRC-данные. Если хотя бы один бит в кусочке будет изменён, значение повреждённых данных перестанет соответствовать сохранённым CRC-данным оригинального кусочка. Подобные вещи легко можно проверить не декодируя изображение, фактически это может быть проверено на лету во время загрузки, если программное обеспечение достаточно грамотно для подобных действий.
Третий тип проверки целостности применим лишь к кусочку/кусочкам данных изображения и схож с CRC-значениями. Так где CRC-значения кусочков изображения обращается к фильтрованным, сжатым данным в кусочке, контрольная сумма Adler-32 обращается к завершённому потоку распакованных данных (независимо от того, сколько кусочков изображения могли быть охвачены). В действительности это используется лишь в библиотеках сжатия самого нижнего уровня как средство проверки плохо кодирующего/декодирующего программного обеспечения.
Для более подробной информации смотрите главу «Структура файла» из спецификации PNG.
Произношение
Нет второстепенных вопросов для авторов почти совершенного формата! Да, действительно, даже акроним и произношение были главными темами обсуждения. Причина этому конечно GIF. Кто-то произносит с мягким «G», как «джемпер», кто-то с жёстким, как «гараж» и никто в действительности не знает почему. Но, чтоб вы знали в данном случае правильным будет мягкое «G», поскольку так говорят сами авторы.
PNG всегда пишется по буквам «PNG» (или Portable Network Graphics) и произносится как «пинг», а не «пинджи» или «пэ эн гэ» (впрочем вполне нормально, что люди не говорящие на английском произносят PNG по буквам).
Для более чётких инструкций относительно данного вопроса, смотрите введение в PNG спецификации.
Примечание:
Под конец пара слов относительно использования данного формата в вэб, а точнее относительно связанных с этим проблем. Первая из них, и о ней уже много говорили, это патент на LZW (замечательный алгоритм сжатия применяющийся в GIF, не хочу сказать лишнего, но мне кажется, что он сжимает лучше, чем все эти zlib, используемые в PNG) принадлежащий Unisys. Хорошая новость в том, что патент на территории США истёк 20 Июня, 2003 года. Плохая в том, что он всё ещё действует на территории таких стран как Италия, Франция, Канада, Германия, Англия и Япония. Понятно, что Россия всегда в стороне от подобных вопросов, и каждый что-то решает для себя.
Удивительно то, что альтернатива-то в лице PNG, да и не альтернатива даже, а нечто большее, уже существует давно. То есть действительно PNG большее, ведь он используется во всех современных desktop-системах, его альфа-прозрачность это просто праздник какой-то и для рабочих столов, и для интернета. Здесь другая проблема, Internet Explorer его не поддерживает, точней не поддерживает прозрачность. С этим есть несколько способов борьбы, в определённой мере они действенны. Вообще в подобные вопросы я бы даже вникать не стал. То, что Microsoft не поддерживает формат, проблемы Microsoft, а не формата.
Огорчает не только Microsoft (и я об этом уже говорил), огорчает свободное программное обеспечение. Все эти странные проблемы с тем же Konqueror‘ом… Я уже не говорю о GIMP‘е. Не говорю хотя бы потому, что не использовал все эти новые версии 2.0. Просто надеюсь, там всё исправили.
Copyright 2004, Иван Зенков
Данный документ (кроме отдельно указанных частей, переводного текста и др.) распространяется в соответствии с GNU Free Documentation License опубликованной Free Software Foundation и изготовлен в полном соответствии со стандартами w3 консорциума.
Все торговые марки, названия и логотипы использованные или упомянутые в этом документе, принадлежат своим владельцам.
Остальные мои статьи можно найти на моей страничке на сайте Rus-Linux.net
Если вам понравилась статья, поделитесь ею с друзьями:
Описание расширения PNG. Как открыть файл с расширением PNG?
Расширение PNG
Чем открыть файл PNG
В Windows: Microsoft Windows Photo Viewer, Microsoft Paint, Adobe Photoshop CS5, Adobe Photoshop Elements 10, Adobe Illustrator CS5, CorelDRAW Graphics Suite X5, Corel PaintShop Pro X4, ACDSee Photo Manager 14, ACD Systems Canvas 12, Roxio Creator 2012, Microsoft Expression Design, Adobe Fireworks, PhotoOnWeb, Nero Multimedia Suite, Adobe Creative Suite, IrfanView, Corel Presentations, FastStone Image Viewer, Artweaver, Ability Photopaint, Любая программа просмотра изображений, Любой вэб-браузер
В Mac OS: Apple Preview, Apple Safari, Adobe Photoshop CS5, Adobe Photoshop Elements 10, Adobe Illustrator CS5, Roxio Toast 11, Adobe Fireworks for Mac, Flare for Mac, Любая программа просмотра изображений, Любой вэб-браузер
В Linux: GIMP, Paint.NET, XnView
Описание PNG
Раздел: Растровая графика
Файл с расширением png – файл изображения, хранящегося в Portable Network Graphic (PNG) формате. Как GIF файл, содержит битовую карту индексированных цветов с сжатием без потерь, но без ограничений авторского права, обычно используется для хранения графики для веб-изображений.
Формат PNG был создан в ответ на ограничения формата GIF, в первую очередь увеличить поддержку цвета и обеспечить формат изображения без патентной лицензии. Кроме того, в то время как изображения GIF поддерживает только полностью непрозрачные или полностью прозрачные пикселы, PNG изображения может включать в себя 8-битный канал прозрачности, что позволяет цветам изображений постепенно меняться от непрозрачного к прозрачному.
.PNG изображения не могут быть анимированы, например, как изображения в формате .GIF. Тем не менее, похожий формат .MNG может быть анимированными. Формат .PNG не обеспечивает поддержку цвета CMYK, потому что он не предназначен для использования с профессиональной графикой. Первоначально только Netscape Navigator и Microsoft Internet Explorer поддерживали файл .PNG, но сегодня каждый веб-браузер может читать формат правильно.
MIME тип: image/png, image/x-png, application/png, application/x-png
HEX код: 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52
ASCII код: PNG IHDR
Другие программы, связанные с расширением PNG
- Каталог браузера PaintShop Photo Pro от Corel Corporation
Расширение файла .PNG связано с Corel Paint Shop Pro, программное обеспечение фото-редактирования для продвинутых пользователей, разработанная и продаваемая Corel Corporation. .PNG файлы содержат каталоги браузера. Относится к разделу Графика, изображения
- Файл изображения Adobe Fireworks от Adobe Systems Incorporated
Расширение PNG связано с Adobe Fireworks. PNG Adobe Fireworks основаны на Portable Network Graphic (PNG) формате, но содержат дополнительные собственные метаданные, которые только приложения Adobe могут читать. Эта версия формата PNG открывается исключительно только в Adobe Fireworks. Относится к разделу Растровая графика
- Файл живого существа в игре Spore от Electronic Arts, Inc.
Расширение файла PNG используется в игре Spore. Spore представляет собой многожанровую массовую онлайн игру, разработанную Maxis и с дизайном от Уилл Райт (Will Wright). Это позволяет игроку управлять эволюцией видов с момента ее зарождения в качестве одноклеточного организма, через развитие интеллектуального и социального существа, в межзвездное развитие как космической культуры. Данные необходимы для анимации существ и закодированы в растровых графических файлах PNG. По последней версии (октябрь 2008) данные могут быть закодированы в цветных слоях графического файла (по технологии кодирования, известная как стеганография). Относится к разделу Игры
Что такое файл PNG – как открыть и редактировать изображение
Файл с расширением PNG является файлом формата Portable Network Graphics. Формат использует сжатие без потерь и обычно считается заменой формата изображения GIF. Однако, в отличие от GIF, файлы PNG не поддерживают анимацию. Тем не менее, существует очень похожий формат MNG (сетевая графика с несколькими изображениями), но этот формат не приобрел такой популярности, как файлы GIF или PNG.
Файлы PNG часто используются для хранения графики на веб-сайтах. Некоторые операционные системы, такие как macOS и Ubuntu, хранят скриншоты в формате PNG по умолчанию.
Другое использование PNG – это когда части изображения должны быть прозрачными, что может быть полезно при создании иллюстраций, разработке веб-сайта, создании фотографии и т.д. Например, если у вас есть логотип, который вы хотите разместить над фотографией, намного проще «вырезать» логотип, оставив вокруг него прозрачные пиксели, чтобы при размещении над другим изображением этоизображение было видно через прозрачность.
Как открыть файл PNG
Программа просмотра фотографий по умолчанию в Windows часто используется для открытия файлов PNG, потому что она включена как часть стандартной установки Windows, но есть много других способов просмотра.
Все веб-браузеры (такие как Chrome, Firefox, Edge и т.д.) будут автоматически просматривать PNG-файлы, которые вы открываете из Интернета, а это означает, что вам не нужно загружать каждый PNG-файл, который вы хотите просмотреть. Вы также можете использовать веб-браузер, чтобы открывать файлы PNG со своего компьютера, используя комбинацию клавиш Ctrl + O для поиска файла.
Большинство браузеров также поддерживают перетаскивание, поэтому вы можете просто перетащить файл PNG в браузер, чтобы открыть его.
Есть также несколько автономных программ для открытия файлов, графических инструментов и сервисов, которые открывают файлы PNG. Некоторые популярные из них включают XnView MP, IrfanView, FastStone, Google Drive, Eye of GNOME и gThumb.
Для редактирования файлов PNG можно использовать только что упомянутую программу XnView MP, а также включенную в состав Microsoft Windows графическую программу под названием Paint, инструмент Windows 10 Paint 3D, популярную утилиту GIMP и очень популярный (и очень не бесплатный) Adobe Photoshop.
Учитывая количество программ, открывающих файлы PNG, вероятность того, что на данный момент у вас установлено как минимум две программы очень высока, как вероятность того, что одна из них используется по умолчанию.
Как конвертировать файл PNG
Вероятно, что каждый конвертер файлов изображений, с которым вы работаете, сможет преобразовать файл PNG в другой формат (например, JPG, PDF, ICO, GIF, BMP, TIF и т.д.). С этим также легко справятся некоторые онлайн-конвертеры PNG, такие как FileZigZag и Zamzar.
Другой вариант преобразования PNG-файла – использовать одно из средств просмотра изображений, о которых я уже упоминал. Хотя они существуют главным образом как «открывашки» различных типов изображений, некоторые из них поддерживают сохранение/экспорт открытого PNG-файла в другой формат изображения.
Когда использовать файлы PNG
PNG-файлы – отличный формат для использования, но не обязательно в любой ситуации. Иногда PNG может быть слишком большим по размеру и не только занимать ненужное дисковое пространство или усложнять отправку по электронной почте, но также может значительно замедлить веб-страницу, если вы используете его там. Поэтому, прежде чем конвертировать все ваши изображения в формат PNG (не делайте этого), необходимо кое-что помнить.
Строго думая о размерах файлов PNG, вам нужно подумать, достаточно ли хороши преимущества качества изображения, чтобы пожертвовать пространством (или медленной загрузкой веб-страницы и т.д.). Поскольку файл PNG не сжимает изображение, как это делают другие форматы с потерями, как, например, JPEG, качество не уменьшается так сильно, когда изображение в формате PNG.
Файлы JPEG полезны, когда изображение имеет низкую контрастность, но PNG лучше, когда имеешь дело с резким контрастом, например, когда на изображении есть линии или текст, а также большие области сплошного цвета. Таким образом, снимки экрана и иллюстрации лучше сохранять в формате PNG, тогда как «реальные» фотографии лучше всего сохранять в формате JPEG/JPG.
Вы можете также рассмотреть возможность использования формата PNG поверх JPEG, когда вы имеете дело с изображением, которое нужно редактировать снова и снова. Например, поскольку формат JPEG подвергается так называемой потере генерации, редактирование и сохранение файла снова и снова приводит к ухудшению качества изображения с течением времени. Это не верно для PNG, поскольку он использует сжатие без потерь.
Дополнительная помощь с файлами PNG
Чтобы сделать фон прозрачным в формате PNG, вы можете использовать автоматические инструменты, такие как Clipping Magic – бесплатный инструмент для удаления фона или почти любую программу для редактирования изображений.
Например, если у вас есть Photoshop, поместите изображение в его собственный слой, удалите фоновый слой, а затем используйте любой инструмент (например, Eraser, Marquee, Lasso), чтобы стереть части изображения, которые должны быть прозрачными.
бесплатных изображений PNG, скачать 3150000+ PNG ресурсов с прозрачным фоном-Pngtree
букет акварельных цветов с обведенными листьями украшения
2084 * 2084
свечение световой эффект луч лучи вектор солнечный свет линзы блики световой эффект
5000 * 5000
золотой тайский бордюр
1201 * 1201
реалистичная рамка из еловых веток с рождеством
1200 * 1200
facebook logo icon fb logo
800 * 800
простая текстура рождество граница
1200 * 1200
золотой фон конфетти 0706
800 * 800
красочный фон брызги краски png скачать бесплатно
1200 * 1200
рождественские иллюстрации с реалистичными еловыми ветками векторная иллюстрация
1200 * 1200
вектор синие квадраты ab stract background blank
1200 * 1200
night pink png background png free download
1200 * 1200
nt lens flare effect
1200 * 1200
social media multi following label
4167 * 4167
голова единорога
1200 * 1200
творческий красочный мазок кисти векторной кисти
1200 * 1200
Рождественский венок с сосновыми ветками и ягодами в золотом цвете
3000 * 3000
красивый акварельный фон с брызгами
1200 * 1200
3d голубой коронавирус элемент
1200 * 1200
белый дым
1200 * 1200
золотой круг дизайн границы рамки
1200 * 1200
роскошный фон и приглашение
800 * 800
Twitch Live Stream Overlay лицо красного цвета
2000 * 2000
дети читают книгу
3718 * 3546
золотая рамка клипарт png элемент вектора
5000 * 5000
социальные медиа черные иконки набор
1200 * 1200
контур красного сердца
2048 * 2048
лепесток цветка
1200 * 1200
значок instagram логотип instagram
800 * 800
прямоугольник png
5000 * 5000
красная любовь оригами элементы Дня святого Валентина
1200 * 1200
макет черной футболки
1500 * 1500
реалистичный вектор облака
3543 * 164094 белый свет мечта свет свежий и сияющий сияющий свет
1200 * 1200
элемент f круглый синий пузырь
2000 * 2000
коллекция иконок социальных сетей
1099 * 800
творческая простая разделительная линия
1200 * 1200
золотая рамка
1200 * 1200
1200 * 800
мягкая цветочная композиция для свадебного приглашения композиция акварель цветы иллюстрация персиковых роз листья ветки композиция
2084 * 2084
вектор значок местоположения
1024 * 1024
значок местоположения
1200 * 1200
красивый t акварельный цветочный венок
1200 * 1200
золотой световой эффект ореол фон декоративный материал элемент
2000 * 2000
черные значки социальных сетей
1200 * 1200
глянцевое сердце
2048 * 2048
векторный дизайн баннера png скачать бесплатно
1200 * 1200
элегантная европейская фоторамка
1200 * 1200
фиолетовый дефектный неоновый бордюр
1200 * 1200
1200 * 1200
прожектор освещение сцены
4000 * 4000
бесплатных изображений PNG, скачать 3150000+ PNG ресурсы с прозрачным фоном-
2019 ncov коронавирус векторная иллюстрация
1200 * 1200
абстрактный круг светло-красная рамка вектор фон
4000 * 4000
индонезия флаг красный белый волновой вектор
1200 * 1200
таиланд сонгкран
1200 * 1200
розовый цветок векторная иллюстрация
1200 * 1200
разбитое сердце 9 0004
1200 * 1200
простой интерфейс социального программного обеспечения
1200 * 1200
иллюстрация бегущей вселенной планеты
3000 * 3000
дизайн баннера фотошоп v
1200 * 1200
фон материал вектор
1200 * 1200
синие волнистые формы изогнутые линии
1200 * 1200
сдача крови
2000 * 2000
сердечки любви с винтажными украшениями
5000 * 5000
фотоаппарат графический значок дизайн шаблона
4167 * 4167
геометрическая форма в абстрактном стиле
1200 * 1200
милый розовый элемент стиля вырезки из бумаги
1200 * 1200
цветочная рамка
1200 * 1200
набор векторных прозрачных стеклянных пластин
5000 * 5000
элементы цветочного дизайна тайского фестиваля окропления
1200 * 1200
современная мода 2019 год элемент художественного слова
1200 * 1200
костюм
577 * 610
5847 * 6133
распродажа специальное предложение баннер вектор
1200 * 1200
фотошоп световые эффекты png скачать
1200 * 1200
золотой счастливого Рождества
1200 * 1200
тушь акварельный узор
1200 * 1200
красочный самолет линия пути пунктирные линии пути полета авиакомпании
6250 * 6250
вектор цветной мозг машины
939 * 882
знак любви к счастливой любви день
1200 * 1200
творческая пшеница
1200 * 1200
ручная роспись медицинская кепка медсестры больницы
2000 * 2000
золотая корона вектор и png
5000 * 5000
черный творческий ручной росписью свет и тень
1200 * 1200
точка черный черное пятно акварель
2500 * 2500
исламский фон дизайн мадина и макка с красивым psd файлом ид аль адха
1200 * 1200
акварель цветочные цветы узор современного искусства в подсолнечнике png
1200 * 1200
sky ry sky
3545 * 5315
трендовый модный розовый прогрессивный стрелка трендовый бизнес-элемент
1200 * 1200
элемент тени листа
2048 * 2048
свежие цветочные приглашения на свадьбу
* 800счастливого холи
1200 * 1200
милые мультяшные изображения
1200 * 1200
3d стерео кисть
1200 * 1200
facebook instagram twitter youtube pinterest бэконс google
1200 * 1200
ночная иллюстрация мечети или мечети во время
рамадана 2000 * 2000
Ид аль Адха png арабский с каллиграфией
2500 * 2500
золотой с новым годом
1200 * 1200
мультфильм взрыв разговор пузырь элемент коммерческая палка
2000 * 2000
новогодняя рамка с акварельными листьями
2363 * 2363
иллюстрация мусульманского праздника паршивая овца ид мубарак ид аль адха
800 * 800
PNG в PDF — конвертировать PNG в PDF онлайн
Как у нас есть пользователи со всей сети, мы также реализовали различные варианты в инструменте, который вы можете выбрать from, чтобы настроить выходной файл, включая формат, ориентацию и размеры полей.
Зачем конвертировать PNG в PDF?
Есть несколько причин. Наиболее очевидным из них является эффективность обмена и хранения изображений.
Кроме того, PDF зарекомендовал себя как универсальный тип файлов; доступны для просмотра практически на всех электронных устройствах, включая персональные компьютеры, мобильные устройства и планшеты.
Кроме того, PDF-файлы безопасны в использовании. В отличие от большинства типов файлов изображений, файлы PDF можно легко защитить паролем с помощью надежного шифрования. Smallpdf имеет собственный инструмент Protect PDF, который поможет вам заблокировать файлы PDF.
Сохранение PNG как другого формата изображения
Если вы хотите сохранить свой PNG как другой формат изображения, мы рекомендуем вам сохранить его как JPG. Этот формат изображения имеет элементы, похожие на PDF — изображения сжаты и их легко передавать.
Чтобы сохранить окончательное изображение в формате JPG, сначала необходимо преобразовать изображение PNG в формат PDF. Затем используйте инструмент PDF в JPG на нашем сайте, чтобы преобразовать файл в JPG. Наши конвертеры созданы для того, чтобы пользователи могли плавно переходить от одного формата файла к другому.
Мы не останавливаемся на достигнутом, когда дело доходит до конверсии документов. Другие поддерживаемые нами форматы файлов относятся к семейству Microsoft Office. Впоследствии, следуя тем же правилам, вы можете сохранить свой PNG в различных форматах файлов, таких как Word, Excel и PPT.
Работать с PDF — это весело
После того, как вы конвертируете PNG в PDF, на нашем сайте есть более десятка инструментов, которые вы можете использовать. В нашем блоге также доступно множество руководств, которые помогут вам в работе с PDF-файлами (в конце концов, у нас есть программное обеспечение для работы с PDF).Некоторые из наиболее популярных статей в нашем блоге:
И, наконец, чтобы упростить работу с PDF-файлами, мы позаботились о том, чтобы наши онлайн-инструменты были совместимы со всеми операционными системами.