Png это: PNG Расширение файла — что такое .png и как открыть?

Содержание

Про PNG. Часть первая

Общаясь со своими коллегами на различных семинарах и в студии, я пришел к выводу, что для многих единственным преимуществом формата PNG является наличие честной полупрозрачности. Если поискать в интернете информацию об этом формате, несложно заметить, что веб-разработчики разделились на два лагеря. Первые пишут о том, какой этот формат замечательный, оперируя чисто техническими данными, непонятными обычным кодерам и дизайнерам (к примеру, о превосходстве deflate-алгоритмов сжатия над LZW), другие же оставляют комментарии разной степени глупости о бесполезности PNG, не потрудившись даже вникнуть в суть вещей, описанных в спецификации.

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

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

Формат позволяет хранить три типа изображений: greyscale (для описания изображения используется один канал — белый), indexed-colour (используется палитра цветов, как в GIF) и truecolor (используется три канала — RGB).

Самое главное преимущество формата PNG — это, конечно же, новые алгоритмы сжатия. Все помнят, что GIF эффективно сжимает только горизонтальные одноцветные области? Про это ограничение теперь можно забыть:

GIF, 2568 байт PNG-24, 372 байта

Вторым важным преимуществом является фильтрация строк (scanline filtering, или delta filters), благодаря которой PNG-упаковщик может получить гораздо более удобные данные для сжатия.

Рассмотрим на примере, как они работают. Возьмем изображение 5×5 пикселей с горизонтальным градиентом и схематично отобразим, как оно может быть сохранено в файле (каждое число — уникальный цвет).

Хозяйке на заметку

Считаю своим долгом отметить, что цвет в формате RGB хранится в виде одного числа, а не трех (на каждый канал). Например, цвет R: 253, G: 93, B: 69 хранится как число 16604485 в десятичной системе счисления или как #fd5d45 — в шестнадцатеричной.


Как видно из примера, GIF-кодировщик отдал бы на сжатие строки, которые плохо упаковываются по горизонтали (потому что одинаковые цвета распространяются по вертикали). А вот как может преобразовать эти данные PNG-кодировщик:

Перед каждой строкой появилась цифра 2. Это — фильтр, который был применен к строке. В данном случае это фильтр Up, который говорит декодеру: «Для текущего пикселя возьми значение пикселя выше и прибавь к нему текущее значение». В нашем случае это 0, потому что цвета текущего и верхнего пикселей не отличаются. А эти данные можно эффективней упаковать, если у нас достаточно большое изображение.

Почему я написал может? Потому что в нашем идеализированном случае более эффективной была бы такая схема:

Тут применен фильтр 1 под названием Sub, который говорит декодеру: «Возьми значение пикселя левее текущего и прибавь ему текущее значение». В данном случае 1.

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

Хозяйке на заметку

Всего существует 5 фильтров: None (никакой фильтрации), Sub (от текущего значения отнять значение левого пикселя), Up (отнять верхний пиксель), Average (отнять среднее значение левого и верхнего пикселей) и Paeth (подставить значение верхнего, левого или верхнего левого пикселя, назван в честь Алана Паэта).


Проверим работу фильтров:

PNG-24, фильтр None
56084 байта
PNG-24, фильтр Up
23585 байт

Внимательный читатель может заметить, что фильтры применяются не ко всему файлу целиком, а к строкам. Это значит, что каждая строка может иметь свой фильтр. Получается, что способов фильтрации одного изображения может быть 5высота картинки. В общем-то, задача хорошего кодировщика как раз заключается в том, чтобы подобрать такие значения фильтров, при которых объем файла будет минимальным. К сожалению, фотошоп не всегда хорошо справляется со своей работой, поэтому на помощь приходят различные утилиты вроде OptiPNG и PNGCrush, которые в большое количество проходов подбирают разные способы фильтрации и стратегии сжатия данных, значительно сокращая тем самым объем некоторых сложных изображений. Однако стоит помнить, что эти программы не гарантируют уменьшение объема для каждого файла, они всего лишь пытаются найти оптимальный способ кодирования данных.

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

PNG-24 (фотошоп → truecolor),
8167 байт
PNG-24 (фотошоп + OptiPNG → greyscale),
6132 байта

Преимущества greyscale над truecolor очевидны: к примеру, белый цвет в первом случае записывается (в десятичной системе счисления) числом 255, а во втором — 16777215.

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

Информация о расширении файла PNG

What is a PNG file

Файлы PNG (которые обычно называются «пингами») — это файлы в формате, который содержит растровые изображения. Первоначально формат изображений PNG был создан для перехода с формата GIF, так как они оба имеют возможность отображать прозрачные фоны. Другое сходство между этими форматами — использование индексированных цветов и сжатие без потерь. При этом файлы PNG имеют разные наборы ограничений авторских прав. Более того, в отличие от изображений GIF, файлы с расширением PNG не поддерживают анимацию. На сайте Online-onvert.com вы можете легко и бесплатно конвертировать ваши рисунки в формат PNG совершенно бесплатно.

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

Here’s a small, but not exhaustive list of programs that can open PNG documents:

  • Microsoft Windows Photos
  • Microsoft Paint
  • Adobe Photoshop CC

Программист, не имеющий представления о сжатии данных, создал суперзамену формату PNG

| Поделиться Представлен новый легковесный и очень простой формат компрессии картинок без потерь Quite OK Image (QOI). Он позволяет в десятки раз быстрее сжимать растровые изображения в цветовой модели RGBA по сравнению с популярным сегодня PNG при незначительно отличающемся итоговом размере файла. Автор QOI признается, что практически ничего не понимает в алгоритмах сжатия, а идея формата к нему пришла во время работы над проектом в смежной области.

Создан «убийца» PNG?

Создан новый формат сжатия растровых изображений, использующих цветовую модель RGB(A), без потери качества. Разработка получила название QOI (Quite OK Image, «вполне нормальное изображение»). Ее отличают простота и лаконичность реализации, а также высокая скорость компрессии/декомпрессии.

По заявлению автора формата и эталонной реализации, программиста Доминика Саблевски (Dominic Szablewski) из Германии, скорость кодирования изображения в формате QOI в 20-50 раз выше по сравнению с использованием распространенного в интернете PNG (Portable Network Graphics, «переносимая сетевая графика»). По быстроте декодирования QOI также превосходит PNG, однако не столь значительно – в три-четыре раза. При этом размер сжатого QOI-файла сопоставим с PNG-файлом, содержащим аналогичную картинку.

PNG – это растровый формат хранения графической информации, использующий сжатие без потерь по алгоритму Deflate. Формат был представлен в 1996 г. в качестве свободной альтернативы проприетарному GIF.

Программист-игродел представил новый формат сжатия изображений QOI

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

Исходный код открыт для всех

Исходный код всех материалов, имеющих отношение к QOI опубликован на хостинге Github и доступен на условиях свободной лицензии MIT.

По состоянию на 29 ноября 2021 г.

проект состоит всего из трех файлов: заголовочный qoi.h содержит реализацию функций кодирования/декодирования изображения; qoiconv.c – утилиту командной строки для преобразования файлов из формата PNG в QOI и обратно; qoibench.c – инструмент-обертка для сравнения скорости кодирования с использованием libpng, stb_image и qoi.h.

Объем кода эталонной однопоточной реализации составляет 492 строки, конвертера – еще 76 строк, без учета комментариев. Дополнительно сторонними разработчики подготовлены реализации кодировщиков и декодировщиков на языках Go, Zig и Rust.

Автор не может – сообщество поможет

Автор подчеркивает, что совершенно не разбирается в алгоритмах сжатия. «Я понятия не имею, что творю, – предупреждает Саблевски в своем сообщении, размещенном в его личном блоге. – Я едва понимаю принцип работы алгоритма кодирования Хаффмана и как выполняется дискретное косинусное преобразование».

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

Дискретное косинусное преобразование (Discrete Cosine Transform, DCT) – это математическое преобразование, например, применяемое в алгоритмах сжатия данных с потерями, в том числе MPEG (видео) и JPEG (статичные изображения).

Что нужно знать при выборе ВКС

Рынок видеоконференцсвязи 2021

Кроме того, изначально перед Саблевски не стояла задача создать «убийцу PNG». Специализирующийся на разработке игр программист, по собственному признанию, «возился с идеей создания простой схемы сжатия, похожей на MPEG, но с вменяемым форматом файла» и внезапно пришел к QOI.

Тем не менее, проект привлек внимание программистов-энтузиастов, которые моментально предложили целый ряд изменений, направленных на улучшение нового формата. Сам Саблевски в комментариях на Github признается, что не ожидал такого интереса к собственной разработке, которую он называет «до глупости простой» (stupidly simple): «Сказать, что я удивлен тем количеством внимания, которое этому уделяется, было бы преуменьшением».

Особенности метода сжатия

Как объясняет Саблевски в своем блоге, QOI кодирует и декодирует изображение в один проход, то есть каждый пиксель (минимальный элемент растрового изображения) обрабатывается алгоритмом единожды. Закодирован пиксель может быть четырьмя разными способами, в зависимости от параметров его «соседа».

Если анализируемый алгоритмом пиксель по цвету (записываются в формате RGB или RGBA) совпадает с предыдущим, то вместо записи его полной характеристики счетчик повторений увеличивается на единицу . Таким образом, данный алгоритм сжатия, известный как RLE (Run-length encoding, «кодирование повторов»), будет обеспечивать высокую степень сжатия при наличии множества точек одного цвета, расположенных в ряд по горизонтали.

Облачные хранилища получили трехуровневую защиту от вымогателей

Облака

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

Алгоритм предполагает формирование и поддержание в актуальном состоянии массива из 64 последних проанализированных пикселей. Если анализируемый пиксель совпадает с одним из «запомненных» кодировщиком, то сохраняется соответствующий ему индекс.

Когда оптимизировать входной поток данных не представляется возможным (три предыдущих способа не применимы), записывается полное значение цвета в формате RGBA.

Предложенный алгоритм имеет линейную сложность, поэтому его производительность не зависит от объема входных данных, то есть в данном случае – размера изображения.

Дмитрий Степанов



Простое введение в особенности формата

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: альфа-каналы (переходная прозрачность), гамма-коррекция (межплатформенное управление яркостью изображения), двумерная чересстрочность (метод прогрессивной развёртики). Он обладает превосходным уровнем сжатия по сравнению с GIF, но различия колеблются около 5-25%, что не так уж и много для того, чтобы подвигнуть людей использовать только этот формат. Существует одна особенность GIF которую PNG не пытается воспроизвести, это поддержка множественного изображения, особенно мультипликации, PNG был предназначен лишь для одного изображения. Существует очень схожий с PNG расширенный формат называемый MNG, завершён в середине 1999 года и уже поддерживается в различных приложениях, но MNG и PNG имеют различные расширения и различные цели.

Для редактирования изображения, как профессионального так и не очень, PNG предоставляет отличный формат, даже для хранения промежуточных стадий редактирования. Поскольку сжатие происходит полностью без потерь и поскольку формат поддерживает 48-битный «truecolor» или 16-битный «grayscale«, сохранение, восстановление и пересохранение изображения проходят без потерь в качестве в отличии например от стандартного JPEG (даже с максимально высоким уровнем качества). В отличие от TIFF PNG спецификация не позволяет авторам реализаций привередничать выбирая какие возможности они собираются реализовать; как результат, любое сохранённое PNG изображение в одном приложении, может быть прочитано в любом другом приложении поддерживающим PNG.

За перечислением плюсов PNG, прошу обратить ваше внимание, что часто для обмена целостными «truecolor» изображениями (особенно фотографическими) JPEG — почти всегда лучший выбор. Хотя сжатие JPEG производиться с потерями при которых могут появляться артефакты, их всё же можно минимизировать, а вот размер файла даже на высококачественном уровне значительно меньше, чем в случае с форматами сжатия без потерь, вроде того же PNG. Также например для чёрно-белого изображения, особенно текста или рисунков, сжатие TIFF Group 4 или формат JBIG часто значительно лучше подходит, чем 1-битный «greyscale» PNG.

Примечание:

В последнем случае я с автором всё таки не согласен. Да действительно часто предпочтительней использовать JPEG, особенно для фотографий. Но это лишь в том случае, когда изображение не имеет для вас первичного приоритета, то есть второстепенно. Отправляя же например свою фотографию девушке, я бы не рискнул сохранить её в JPEG. Не говоря уже о таких случаях, когда я девушке отправляю не свою фотографию, а изображение своего рабочего стола. В последнем случае все эти артефакты всё равно проявятся и испортят общее впечатление от моих огромных SVG иконок. В случае же с чёрно-белыми изображениями из выше перечисленного я бы вообще ничего использовать не стал. По мне дак, для таких задач (а подразумевались отсканированная документация) я бы вообще использовал замечательный формат DjVu, о котором уже как-то писал.


Сжатие

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 изображений, посетите страницу со списком конвертеров (особое внимание обратите на pngcrush и SmartSaver).

Примечание:

Автор не упомянул наверное одну из лучших программ в своём роде, называется она 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, или созданные на выглядят слишком светлыми на 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 против JPG: битва популярных форматов изображений

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

Эта статья научит вас веревкам о PNG против JPG, предоставив обзор двух. Мы будем сравнивать их цели, методы сжатия и многое другое. Давайте погрузимся в эту дискуссию PNG против JPG сейчас!

Руководство по статьеЧасть 1. PNG против JPG: какой формат изображения имеет наилучшее качество?Часть 2. В чем разница между PNG и JPG?Часть 3. PNG против JPG: плюсы и минусыЧасть 4. Качество PNG лучше, чем JPEG?Часть 5. Бонус: удалите похожие изображения с вашего MacЧасть 6. Вывод

Часть 1. PNG против JPG: какой формат изображения имеет наилучшее качество?

Прежде чем мы углубимся в дебаты PNG против JPG, давайте сначала дадим обзор двух. JPEG обозначает Объединенную группу экспертов по фотографии, а также название группы, разработавшей этот формат файла. Это сжатый формат с потерями. Вы должны думать об этом следующим образом: JPEG получит изображение и уменьшит его размер, уменьшая мельчайшие детали в нем. Можно уменьшить размер файла до крошечных битов, но это приведет к не очень приятному выводу. Изображение будет в пикселях и полный беспорядок.

Таким образом, форматы файлов JPEG представляют собой компромисс между ними. Размер оставлен меньше. Тем не менее, изображение сохраняется с максимально возможным качеством, обеспечивая компромисс между размером и качеством. Из-за этого JPEG стал одним из самых популярных форматов и стандартным форматом для сжатых изображений. Правильное сокращение для этого — JPEG. Однако он также взаимозаменяем с JPG. Это сокращение из трех букв было связано с тем, что раньше в расширениях Windows было только три буквы. Таким образом, вы можете видеть его как JPG в окнах и как JPEG на компьютерах с macOS.

Наконечник: Если вы хотите конвертировать PNG-файлы в формат JPG, ознакомьтесь с это руководство изучить эффективные способы.

Если вы хотите конвертировать JPEG в PNG, было бы лучше иметь инструмент, который поможет вам в этом.

Для чего в основном используется PNG?

С другой стороны, PNG относится к Portable Graphics Format и является широко используемым форматом файлов изображений, в котором по умолчанию используется сжатие без потерь. Этот формат отлично подходит для текста, штриховых рисунков и пиктограмм и дает небольшой размер без ущерба для качества. PNG был впервые разработан как альтернатива для GIF, анимированная графика, формат. Он обрабатывает изображения с высокой детализацией и большим контрастом. Таким образом, это по-прежнему популярный формат файлов изображений, который используется как в Интернете, так и в автономном режиме.

Часть 2. В чем разница между PNG и JPG?

Теперь давайте перейдем к дебатам PNG против JPG. Каковы различия между ними и что вам нужно для конкретной цели? Сначала вы можете подумать, что между ними нет различий в качестве. Но на самом деле есть. Давайте найдем подробности об JPEG и PNG ниже.

Развитие

Во-первых, давайте поговорим о PNG v. JPG с точки зрения развития. JPEG был разработан Объединенной группой экспертов по фотографии и является стандартным форматом, который сжимается и используется для онлайн-обмена изображениями и цифровой фотографии. Это потому, что он имеет отличный баланс между качеством изображения и размером файла. С другой стороны, PNG разработан как замена графического формата обмена (GIF). Он был разработан в 1995 году группой под руководством Томаса Бутелла. Он стал популярным, когда его продвигал W3C, организация, целью которой является определение стандартов для Интернета.

компрессия

В чем разница между JPG и PNG? Теперь давайте поговорим о форматах PNG и JPG с точки зрения методов сжатия. Что мне отправлять: PNG или JPEG? Когда дело доходит до JPEG, фактическая степень сжатия будет зависеть от программного обеспечения и используемых настроек. Тем не мение, обычно степень сжатия изображений JPEG составляет 10: 1. Это означает, что если вы начнете с изображения размером 20 МБ и экспортируете его в другой формат JPEG, размер изображения будет только 2 МБ. С точки зрения качества, как правило, обычным глазом потери не заметны. Однако это по-прежнему будет зависеть от содержимого и фактического типа файла исходного изображения. Для того, чтобы JPEG достиг этого, он будет использовать DCT или дискретное косинусное преобразование.

Математика и смежные науки, стоящие за этим DCT, на самом деле сложны. Тем не менее, это тип алгоритма сжатия, который извлекает обзор всего изображения. Затем он определяет, какие из пикселей изображения похожи на каждый из остальных пикселей, окружающих его. Затем эти похожие пиксели объединяются в заголовки. Когда мы ссылаемся на заголовки, мы ссылаемся на группу похожих пикселей, которые содержат похожие значения.

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

С другой стороны, PNG использует метод сжатия, называемый LZW. Это также используется в форматах TIFF и GIF. Этот метод сжатия состоит из двух этапов, что приводит к уменьшению размеров файлов без ущерба для качества. Опять же, наука, лежащая в основе этой техники сжатия, сложна. Тем не мение, с PNG сжатие без потерь. На самом деле это без потерь. Это означает, что при каждом открытии и повторном сохранении изображения не происходит потери качества.

Предлагаемое и нерекомендованное использование

Теперь давайте перейдем к дискуссии о предполагаемом использовании PNG и JPG. Не рекомендуется использовать JPG для архивных форматов файлов изображений. Это потому, что каждый раз, когда вы открываете его и вносите правки, будет происходить потеря качества. «Неразрушающие» фоторедакторы (например, Adobe Lightroom) действительно могут помочь вам решить эту проблему. Однако необходимо, чтобы исходные файлы не удалялись. Он работает, сохраняя внесенные вами изменения как метаданные. Они не перезаписывают исходное изображение JPEG.

JPEG не рекомендуется использовать с изображениями, в которых много текста. Не рекомендуется использовать их на иллюстрациях с четкими линиями. Это связано с тем, что определенные линии обычно размываются из-за сглаживания. Имеется в виду преднамеренное размытие линий или содержимого изображения с целью удаления его шероховатостей. Изображения, тексты в формате JPEG и помещенные на белый фон будут отображать больше артефактов по сравнению с PNG. Бывают ситуации, когда вам нужно преобразовать файлы PDF в формат JPEG. В этих случаях вы должны убедиться, что экспортируете его в настройки с наивысшим качеством. Таким образом текст будет четким.

Этот формат файла поддерживает CMYK и файл RGB цветовые пространства в 24-битных настройках. Однако есть на что обратить внимание в отношении того, что он предлагает для CMYK. Современные принтеры могут хорошо управлять файлами RGB. Это не проблема, с которой вам нужно иметь дело. Однако при печати все же лучше придерживаться форматов с более высоким качеством. Один из вариантов — использовать 8-битную шкалу серого. Однако коэффициенты сжатия на самом деле не так впечатляют, как у изображений в градациях серого, если сравнивать их с цветными изображениями.

С другой стороны, PNG может использоваться для детальных изображений с высокой контрастностью внутри него. Вот почему этот формат файла используется по умолчанию для снимков экрана. Это потому, что он предлагает почти отличное изображение пикселя за пикселем вашего экрана. Он не сжимает похожие пиксели вместе. Вероятно, самая большая особенность форматов файлов PNG — это поддержка прозрачности. Как изображения в градациях серого, так и цветные изображения могут иметь прозрачные пиксели. Таким образом, вы можете формулировать изображения, которые накладываются на другие изображения или даже веб-сайты.

Что лучше для веб-сайта: PNG или JPG? В каком формате лучше всего сохранить логотип? PNG — отличный выбор для логотипов, особенно тех, которые содержат текст и используются на веб-сайтах. Если у вас есть файл PNG с прозрачным фоном и вы конвертируете его в JPG, прозрачность станет белой. Это связано с тем, что в споре о форматах PNG и JPG последний не поддерживает прозрачность.

PNG — одна из лучших альтернатив, которые вы можете использовать для проприетарных Файл RAW форматы касаемо фотографии. Он хранит изображения со сжатием без потерь. Однако есть и другие альтернативы, такие как DNG (Digital Negative) от Adobe и TIFF. Данные EXIF ​​изначально не поддерживаются PNG. Эти данные EXIF ​​содержат информацию о выдержке, ISO и диафрагме с камер, с помощью которых были сняты изображения. Таким образом, PNG был фактически разработан для использования в Интернете (для всемирной паутины).

JPEG — это формат, который используется для большого количества изображений. Тем не менее, PNG по-прежнему является эффективной альтернативой для использования, которое JPEG не может выполнить. По сути, PNG используется для четкого отображения текста или логотипа над другими разделами или элементами вашего сайта.

Вариации

Теперь мы углубимся в вариации PNG против JPG. За последние несколько лет было создано множество вариаций JPEG. Например, JPG-LS был разработан для устранения проблемы сжатия с потерями. Тем не менее, он не стал популярным и был забыт.

JPG2000 является еще одной альтернативой, которая решает проблему сжатия с потерями. Однако, это не получило тягу также. Другой формат, который был сделан, чтобы заменить JPEG, был BPG. Этот формат был основан на стандарте видео под названием H.265. Это было действительно решительно, чтобы заменить JPEG. Однако это не так.

Потенциальной альтернативой JPEG может быть HEIF. Это также основано на стандарте видео H.265. HEIF добился успеха благодаря использованию в продуктах Apple iOS. Тем не менее, ему еще предстоит пройти долгий путь. Но из-за популярности Apple многие программы и устройства для редактирования изображений поддерживают ее. Таким образом, сегодня он стал более доступным по сравнению с прошлым.

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

Часть 3. PNG против JPG: плюсы и минусы

В этом сравнении PNG с JPG полезно иметь раздел «за» и «против», который поможет вам понять слабые стороны и возможности каждого формата файла. Ниже приведены преимущества и недостатки PNG по сравнению с JPG:

JPEG

Плюсы:

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

Минусы:

  • Сжатие с потерями используется форматом файла.
  • Это не рекомендуемый вариант в отношении печати CMYK.
  • Он не поддерживает прозрачность в изображениях.

PNG

Плюсы:

  • Он использует технику сжатия без потерь.
  • Он поддерживает прозрачность в изображениях.
  • Это отличный формат файла для использования со скриншотами и текстами.

Минусы:

  • Он имеет больший размер файла по сравнению с форматом файла изображения JPEG.
  • Он изначально не поддерживает EXIF.

Часть 4. Качество PNG лучше, чем JPEG?

Итак, в этом споре о формате PNG и JPG, какой из них лучше? Чтобы дать вам действительно хороший ответ, мы хотим сказать, что один формат файла НЕ лучше другого. На самом деле это зависит от того, для каких целей вы будете использовать изображения. Если вы хотите поделиться изображениями, снятыми с камеры вашего телефона, в Twitter и Instagram, вам следует выбрать формат файла JPEG.

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

С другой стороны, если вы хотите делать снимки экрана для дальнейшего использования, то лучшим выбором будет формат PNG. Это потому, что он не будет терять качество при каждом сохранении. И после редактирования изображения пиксель по-прежнему будет резким. Если вы собираетесь использовать веб-графику и логотипы, вам также следует выбрать PNG.

Часть 5. Бонус: удалите похожие изображения с вашего Mac

Если вы преобразовали файлы PNG в JPEG и наоборот, то на вашем компьютере могут быть похожие изображения. Для этого вы должны выбрать iMyMac PowerMyMac и его модуль под названием Похожие изображения Finder.

Модуль Похожие изображения Finder этого программного обеспечения является отличным способом найдите ваши похожие изображения и удалите их партиями. Это можно сделать всего за несколько кликов, и вам не нужно беспокоиться о потере данных. Это мощный инструмент, который сканирует ваш компьютер на наличие изображений, которые идентичны друг другу.

Часть 6.

Вывод

В дебатах PNG против JPG мы узнали, что одно НЕ лучше, чем другое. Это зависит от вашего использования, потому что у каждого есть свои слабости, возможности, плюсы и минусы. Таким образом, мы сделали сравнение, чтобы помочь вам выбрать между двумя.

И, если у вас есть дубликаты в вашей системе из-за преобразования, вы можете удалить дубликаты этих идентичных изображений с помощью iMyMac PowerMyMac и его модуль поиска похожих изображений. У этого инструмента есть бесплатная пробная версия, так что вы можете опробовать его, если хотите. Получите iMyMac PowerMyMac прямо сейчас!

Получите бесплатную пробную версию прямо сейчас!

Home

15.10.2019
Новый клиент на азиатском рынке

В июле КРИФ подписал контракт с новым клиентом —  малайзийской компанией Grab (GrabTaxi), занимающей лидирующие позиции по предоставлению услуг такси и логистических услуг через свое приложение в более чем в 50 городах 6 стран (Сингапур, Малайзия, Индонезия, Филиппины, Вьетнам, Таиланд и Мьянма) Юго-Восточной Азии.  В июле 2017 года число водителей, зарегистрированных в сети GrabTaxi, составило более 1 000 000, само приложение было загружено более чем на 45 миллионов мобильных устройств Юго-Восточной Азии.

15.10.2019
INSP: Экосистемы и платформы для нового развития.

Движимая цифровыми преобразованиями и нормативными изменениями, новая модель Open Banking помогает переписать традиционные правила и не только в кредитной отрасли. Конкурентная среда открыта для новых игроков и развивает связи  между финансовой деятельностью и ежедневными потребностями покупателя.

Чтобы помочь компаниям из различных секторов создавать ценность для своих клиентов при помощи экосистемы, CRIF разработала INSP- платформу интеллектуальных сетевых услуг.

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

Российская государственная библиотека

Важная информация

Уважаемые читатели!

РЕЖИМ РАБОТЫ БИБЛИОТЕКИ:
понедельник — суббота
с 9:00 до 20:00.
В Химкинском комплексе:
понедельник — суббота
с 9:00 до 18:00.

Полная актуальная информация о работе РГБ постоянно обновляется. Подробнее

Входная группа главного корпуса РГБ закрыта на реставрацию. Вход в библиотеку — через 6-й подъезд, проход организован вдоль здания РГБ по улице Моховая. Схема прохода

Центральный подсобный фонд № 3 снова открыт, но теперь на третьем этаже в помещении А-307.

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

Заказывать книги и документы необходимо заранее, до прихода в библиотеку. Бумажные требования в настоящее время не принимаются.

Документы можно заказать в электронном каталоге. Количество заказов ограничено. Если нужного документа нет в электронном каталоге, воспользуйтесь формой или позвоните по телефонам отделов. Подробнее

Телефоны для справок о работе библиотеки: +7 (800) 100-57-90,+7 (499) 557-04-70.

Вход пользователей в библиотеку осуществляется без предварительной записи. Если количество пользователей в читальных залах будет превышать 50 % от общей вместимости залов, библиотека вправе ввести предварительную запись или ограничить вход пользователей до появления свободных мест.

Обслуживание в библиотеке осуществляется в соответствии с Временными правилами пользования РГБ в период действия ограничений.

Российская государственная библиотека проводит приём обязательного печатного экземпляра диссертаций по адресу: Москва, ул. Воздвиженка, 1.
Подробнее

Спецификация

PNG: Обоснование Спецификация

PNG: Обоснование

REC-png.html

Рекомендация W3C

01 октября 1996 г.
Предыдущая страница
Следующая страница
Содержание
(Это приложение не является частью официальной спецификации PNG.)

В этом приложении приводится обоснование некоторых проектных решений. в PNG. Многие из этих решений были предметом серьезного дебаты. Авторы свободно допускают, что другая группа могла бы сделать разные решения; однако мы считаем, что наш выбор оправдано и последовательно.

12.1. Почему новый формат файла?

Нужен ли миру еще один графический формат? Мы верим так. GIF больше нельзя использовать бесплатно, но нет другого широко используемого формата. может непосредственно заменить его, как более подробно обсуждается ниже. Мы мог бы использовать адаптацию существующего формата, например GIF с незапатентованной схемой сжатия. Но для этого потребуются новые код в любом случае; это было бы не намного проще реализовать, чем совершенно новый формат файла. (PNG предназначен для прост в реализации, за исключением сжатия двигатель, который был бы нужен в любом случае.) Мы считаем, что это отличная возможность разработать новый формат, который исправляет некоторые известные ограничения GIF.

12.2. Почему эти особенности?

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

Мы также устранили некоторые широко известные недостатки GIF.В частности, PNG поддерживает полноцветные изображения. Мы не знаем широко используемый формат изображения, который без потерь сжимает изображения в истинном цвете как эффективно, как это делает PNG. Мы надеемся, что PNG будет использовать полноцветные изображения более практичны и широко распространены.

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

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

PNG был специально разработан, чтобы не быть полностью зависит от одного метода сжатия. Несмотря на то что сжатие deflate/inflate упоминается в этом документ, PNG все еще существовал бы без него.

12.3. Почему не эти функции?

Некоторые функции были намеренно исключены из PNG. Эти варианты были сделаны для упрощения реализации PNG, обеспечения переносимости и взаимозаменяемость и сделать формат настолько простым и надежным, насколько возможно для пользователей. Особенно:
  • Нет несжатого варианта PNG. Можно хранить несжатые данные, используя только несжатые блоки deflate (функция обычно используется, чтобы гарантировать, что deflate не делает несжимаемым данные значительно больше).Однако программное обеспечение PNG должно поддерживать полную сдувать/надувать; любое программное обеспечение, которое не совместимо с PNG стандарт. Две наиболее важные особенности PNG — переносимость и сжатие — являются абсолютными требованиями для онлайн-приложений, и пользователи требуют их. Неспособность поддерживать компромиссы полного сдувания/надувания обе эти цели.
  • В PNG нет сжатия с потерями. Существующие форматы, такие как JFIF уже хорошо справляется со сжатием с потерями. Кроме того, доступные потери методы сжатия (т.g., JPEG) далеко не надежны — a плохой выбор уровня качества может испортить изображение. Чтобы избежать пользователя путаницу и непреднамеренную потерю информации, мы считаем, что лучше всего строго разделяйте форматы с потерями и без потерь. Кроме того, сжатие с потерями сложен в реализации. Добавление поддержки JPEG в декодер PNG может увеличить его размер на порядок. Это бы безусловно, приведет к тому, что некоторые декодеры не будут поддерживать эту функцию, которая разрушит нашу цель взаимозаменяемости.
  • Нет поддержки CMYK или других необычных цветовых пространств.Опять же, это во имя продвижения мобильности. CMYK, в в частности, слишком зависит от устройства, чтобы быть полезным в качестве портативного представление изображения.
  • Не существует стандартного фрагмента для просмотра миниатюр изображений. В обсуждения с поставщиками программного обеспечения, которые используют эскизы в своих продуктов стало ясно, что большинство из них не будет использовать «стандартный» фрагмент миниатюры. Во-первых, у каждого продавца своя идея того, какими должны быть размеры и характеристики миниатюры быть. Кроме того, некоторые поставщики хранят эскизы в отдельных файлах. для размещения различных форматов изображений; они не перестанут это делать просто из-за фрагмента эскиза в одном новом формате.Собственный фрагменты, содержащие эскизы конкретных поставщиков, кажутся более практичнее, чем обычный формат миниатюр.
Стоит отметить, что приватные расширения PNG могут легко добавлять эти особенности. Однако мы не будем включать их в состав базовый стандарт PNG.

PNG также не поддерживает несколько изображений в одном файле. Это ограничение является отражением того факта, что многие приложения не нужно и не будет поддерживать несколько изображений в файле. В любом случае единичные изображения принципиально иной вид объекта из последовательностей изображений. Вместо того, чтобы давать ложные обещания взаимозаменяемость, мы провели четкое различие между форматы с одним и несколькими изображениями. PNG — это формат одиночного изображения. (Но см. Расширение нескольких изображений.)

12.4. Почему бы не использовать формат X?

Прежде чем принять решение, были рассмотрены многочисленные существующие форматы. для разработки PNG. Никто не мог удовлетворить требования, которые мы чувствовали были важны для ПНГ.

GIF больше не подходит в качестве универсального стандарта из-за юридических запутанности. Хотя простая замена метода сжатия GIF избежать этой проблемы, GIF не поддерживает полноцветные изображения, альфа каналы или гамма-коррекция.У спецификации есть и более тонкие проблемы. Только небольшое подмножество спецификации GIF89 на самом деле переносимо через разнообразие реализаций, но нет кодификации наиболее переносная часть спец.

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

IFF также был предложен, но не подходит в деталях: доступно представления изображений слишком специфичны для машины или неадекватно сжатый. Общая структура фрагментов IFF является полезной концепцией. что PNG щедро заимствовал, но мы не пытались быть побитовая совместимость со структурой блоков IFF.Опять же это из-за подробные вопросы, в частности тот факт, что ФОРМЫ IFF не предназначены для быть серийно записываемым.

JPEG без потерь не подходит, так как не обеспечивает хранение индексированных цветных изображений. Кроме того, его истинный цвет без потерь сжатие часто хуже, чем PNG.

12.5. Порядок байтов

Был задан вопрос, почему PNG использует сетевой порядок байтов. Мы выбрали один порядок байтов и использовали его последовательно. Какой именно порядок не имеет большого значения, но сетевой порядок байтов имеет то преимущество, что подпрограммы для преобразования туда и обратно уже доступны на любом платформа, поддерживающая работу в сетях TCP/IP, включая все платформы ПК.Функции тривиальны и будут включены в эталонной реализации.

12.6. Переплетение

Двухмерная схема чересстрочной развертки PNG более сложна. для реализации, чем построчное чередование GIF. Это также стоит немного больше в размере файла. Тем не менее, это дает начальное изображение в восемь раз быстрее, чем GIF (первый проход передает только 1/64 пикселей по сравнению с 1/8 для GIF). Несмотря на то что это исходное изображение является грубым, оно полезно во многих ситуациях. Например, если изображение представляет собой карту изображений World Wide Web, пользователь видел раньше, первого прохода PNG часто бывает достаточно, чтобы определить куда нажать.Схема PNG также выглядит лучше, чем GIF, потому что горизонтальное и вертикальное разрешение никогда не отличаются более чем на коэффициент из двух; это позволяет избежать странного «растянутого» вида при чересстрочной развертке GIF-файлы заполняются путем репликации строк сканирования. Предварительные результаты показать, что мелкий текст в чересстрочном изображении PNG обычно читается примерно в два раза быстрее, чем в эквивалентном GIF, т. е. после Пятый проход PNG или 25% данных изображения вместо GIF третий проход или 50%. Это снова связано с более сбалансированным увеличением PNG. в разрешении.

12.7. Почему гамма?

Может показаться естественным стандартизировать хранение выборочных значений, которые линейно пропорциональны интенсивности света (то есть имеют гамму 1,0). Но на самом деле обычно изображения имеют гамму меньше 1. Для этого есть три веские причины:
  • По причинам, подробно описанным в руководстве по гамме, все видеокамеры применяют функцию «гамма-коррекции» интенсивности Информация. Это приводит к тому, что видеосигнал имеет гамму около 0,5 относительно интенсивности света в исходной сцене.Таким образом, изображения, полученные видеозахватом кадра, уже имеют гамму около 0,5.
  • Человеческий глаз имеет нелинейный отклик на интенсивность, поэтому линейное кодирование образцов либо тратит коды образцов в ярких областях изображение или предоставляет слишком мало примеров кодов, чтобы избежать артефактов полос. в темных областях изображения или в обоих случаях. Не менее 12 бит на выборку необходимы, чтобы избежать видимых артефактов при линейном кодировании с диапазоном яркости изображения 100:1. Гамма изображения в диапазоне от 0,3 до 0,5 распределяет выборочные значения образом, который примерно соответствует реакции глаза, так что 8 бит/выборка достаточны, чтобы избежать артефактов, вызванных недостаточным точность выборки почти на всех изображениях. Это делает «гамма-кодирование» намного лучшим способом хранения цифровых изображений, чем более простое линейное кодирование.
  • Многие изображения создаются на ПК или рабочих станциях без гаммы. аппаратная коррекция и никакое программное обеспечение, готовое обеспечить гамму коррекция же. В этих случаях изображения имели свои освещение и цвет выбраны так, чтобы лучше всего смотреться на этой платформе — они можно рассматривать как встроенную «ручную» гамма-коррекцию. Чтобы увидеть, что задумал автор изображения, необходимо рассматривать такие изображения как имеющие file_gamma значение в диапазоне 0.4-0,6, в зависимости от освещения помещения Уровень, на котором работал автор.

На практике значения гаммы изображения около 1,0 и около 0,5 являются оптимальными. широко встречается. Старые стандарты изображений, такие как GIF, часто не учитывают за этот факт. Стандарт JFIF указывает, что изображения в этом формате следует использовать линейные выборки, но многие изображения JFIF, найденные в Интернете на самом деле гамма где-то около 0,4 или 0,5. То разнообразие найденных изображений и разнообразие систем, которые люди отображают их включения привели к широко распространенным проблемам с отображением изображений «слишком темный» или «слишком светлый».

PNG ожидает, что зрители компенсируют гамму изображения в то время, когда изображение отображается. Другой возможный подход состоит в том, чтобы ожидать, что кодировщики для преобразования всех изображений в единую гамму во время кодирования. В то время как это метод немного ускорит просмотр, у него есть принципиальные недостатки:

  • Гамма-коррекция по своей природе имеет потери из-за ошибок квантования и округления. Таким образом, требование преобразования во время кодирования приводит к необратимым потеря. Поскольку PNG предназначен для хранения данных без потерь, это нежелательно; мы должны хранить немодифицированные исходные данные.
  • Кодер может не знать значение исходной гаммы. Если декодер делает гамма-коррекцию во время просмотра, может регулировать гамму (изменение отображаемой яркости) в ответ на обратную связь от человеческий пользователь. У энкодера нет такой возможности.
  • На какой бы «стандартной» гамме мы ни остановились, она будет неправильной для некоторые дисплеи. Следовательно, зрителям все равно потребуется гамма-коррекция. способность.
Поскольку всегда будут изображения без гаммы или с неправильным зарегистрированная гамма, хорошие зрители должны будут включить гамму код настройки в любом случае.Таким образом, гамма-коррекция во время просмотра правильный путь.

См. Учебное пособие по гамме для получения дополнительной информации.

12.8. Альфа без предварительного умножения

PNG использует «несвязанный» или «не предварительно умноженный» альфа-канал, так что изображения с отдельными масками прозрачности могут храниться без потерь. Другой распространенный метод, «предварительное умножение альфа-канала», сохраняет значения пикселей. предварительно умноженный на альфа-фракцию; по сути, изображение уже композицию на черном фоне. Любые данные изображения, скрытые маска прозрачности при этом безвозвратно теряется, т. к. умножение на нулевое значение альфа всегда дает ноль.

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

Хотя каждая форма альфа-хранилища имеет свои преимущества, мы не требуется, чтобы все средства просмотра PNG обрабатывали обе формы.Мы стандартизировали на альфа без предварительного умножения как на без потерь и более общий случай.

12.9. Фильтрация

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

Алгоритмы фильтрации определены для работы с байтами, а не с пиксели; это обеспечивает простоту и скорость с очень небольшими затратами в производительность сжатия.Тесты показали, что фильтрация обычно неэффективен для изображений с менее чем 8 битами на выборку, поэтому обеспечение попиксельной фильтрации для таких изображений было бы бессмысленным. Для 16-битных данных побайтовая фильтрация почти так же эффективна, как попиксельная фильтрация, поскольку MSB прогнозируются из соседних MSB, и LSB прогнозируются из соседних LSB.

Кодеру разрешено менять фильтры для каждой новой строки развертки. Это не создает дополнительных сложностей для декодеров, поскольку декодер в любом случае требуется содержать логику дефильтрации для каждого типа фильтра.Единственная стоимость — это дополнительный байт на строку сканирования при предварительном сжатии. поток данных. Наши тесты показали, что при выборе одного и того же фильтра для всех строк развертки этот лишний байт сжимается почти до нуля, поэтому затраты на хранение невелики по сравнению с указанным фиксированным фильтром для всего изображения. И потенциальные преимущества адаптивной фильтрации слишком велики, чтобы их игнорировать. Даже с упрощенным выбором фильтра эвристика, обнаруженная на данный момент, адаптивная фильтрация обычно превосходит фиксированные фильтры. В частности, адаптивный фильтр может изменить поведение для последовательных проходов чересстрочного изображения; фиксированный фильтр не может.

12.10. Текстовые строки

Большинство форматов графических файлов включают возможность хранения некоторых текстовых информацию вместе с изображением. Но многим приложениям нужно больше чем это: они хотят иметь возможность хранить несколько идентифицируемых частей текста. Например, база данных, использующая файлы PNG для хранения медицинских Рентгеновские снимки, скорее всего, захотят включить имя пациента, имя врача, и т. д. Простым способом сделать это в PNG было бы изобрести новый частные блоки, содержащие текст. Недостаток такого подхода заключается в том, что другие приложения не будут знать, что находится в этих куски, и просто проигнорировал бы их. Вместо этого мы рекомендуем текстовое информация должна храниться в стандартных фрагментах текста с подходящими ключевые слова. Использование tEXt сообщает любому просмотрщику PNG, что фрагмент содержит текст, который может быть интересен пользователю-человеку. Таким образом, человек просмотр файла с помощью другого средства просмотра по-прежнему сможет увидеть текст, и даже понять, что это такое, если ключевые слова разумно самоочевидно. (Для этого мы рекомендуем использовать ключевые слова, не аббревиатуры, которые будет трудно понять человеку. Экономия нескольких байтов на ключевом слове — ложная экономия.)

В качестве компромисса был выбран набор символов ISO 8859-1 (Latin-1). между функциональностью и портативностью. Некоторые платформы не могут отображать что-либо большее, чем 7-битные символы ASCII, в то время как другие может обрабатывать символы за пределами набора Latin-1. Мы чувствовали, что Latin-1 представляет широко полезный и достаточно переносимый набор символов. Latin-1 — это прямое подмножество наборов символов, обычно используемых в популярные платформы, такие как Microsoft Windows и X Windows. Оно может также можно обрабатывать в системах Macintosh с помощью простого переназначения символы.

В настоящее время не предусмотрен текст, использующий символы наборы отличные от Latin-1. Мы признать, что потребность в других наборах символов возрастет. Однако PNG уже требует, чтобы программисты реализовали количество новых и незнакомых функций и текстовое представление не является основной целью PNG. Так как PNG предусматривает создание и публичная регистрация новых вспомогательных фрагментов, представляющих общий интерес, мы ожидаем, что фрагменты текста для других наборов символов, например как Unicode, в конечном итоге будет зарегистрировано и будет постепенно увеличиваться в популярность.

12.11. Подпись файла PNG

Первые восемь байтов PNG-файла всегда содержат следующее: ценности:
   (десятичное) 137 80 78 71 13 10 26 10
   (шестнадцатеричный) 89 50 4e 47 0d 0a 1a 0a
   (обозначение ASCII C) \211 P N G \r \n \032 \n
 

Эта подпись идентифицирует файл как файл PNG и обеспечивает немедленное обнаружение распространенных проблем с передачей файлов. Первые два байта различают файлы PNG в системах, которые ожидают первые два байта для уникальной идентификации типа файла.Первый байт выбрано как значение, отличное от ASCII, чтобы уменьшить вероятность того, что текстовый файл может быть неправильно распознан как файл PNG; также он ловит плохой файл передает этот чистый бит 7. Байты со второго по четвертый называют формат. Последовательность CR-LF отлавливает плохие передачи файлов, которые изменяют новую строку последовательности. Символ Control-Z останавливает отображение файла в MS-DOS. Окончательный перевод строки проверяет обратную трансляцию CR-LF. проблема.

Декодер может дополнительно проверить, что следующие восемь байтов содержат Заголовок фрагмента IHDR с правильной длиной фрагмента; это будет поймать плохие передачи, которые удаляют или изменяют нулевые (нулевые) байты.

Обратите внимание, что в подписи нет ни номера версии, ни в любом месте файла. Это сделано намеренно: механизм чанков обеспечивает лучший и более гибкий способ обработки расширений формата, т. 31)-1 байт позволяет избежать возможных проблем для реализации, которые не могут удобно обрабатывать 4-байтовые беззнаковые значения.На практике куски обычно будут намного короче.

Для каждого фрагмента предоставляется отдельный CRC для обнаружения плохо переданные изображения как можно быстрее. Особенно, важные данные, такие как размеры изображения, могут быть проверены до использовался.

Длина фрагмента исключается из CRC, так что CRC может быть рассчитывается по мере создания данных; это позволяет избежать второго прохода данные в случаях, когда длина фрагмента неизвестна заранее.Исключение длины из CRC не создает любой дополнительный риск невозможности обнаружить повреждение файла, так как если длина неверна, проверка CRC завершится ошибкой: CRC будет вычисляться неправильный набор байтов, а затем быть проверенным на неправильное значение из файл.

12.13. Соглашения об именах блоков

Соглашения об именах фрагментов обеспечивают безопасное и гибкое расширение PNG. формат. Этот механизм намного лучше, чем номер версии формата, потому что он работает на основе функции за функцией, а не является общий показатель.Декодеры могут обрабатывать новые файлы тогда и только тогда, когда файлы не используют никаких неизвестных критических функций (на что указывает обнаружение неизвестные критические фрагменты). Неизвестные вспомогательные фрагменты можно безопасно игнорируется. Мы решили не указывать общий номер версии формата. потому что опыт показал, что номера версий форматов вредят портативность настолько, насколько они помогают. Номера версий, как правило, устанавливаются излишне высоким, что приводит к тому, что старые декодеры отклоняют файлы, они могли бы обработать (это было серьезной проблемой для нескольких например, спустя годы после выхода спецификации GIF89).Более того, частные расширения могут быть сделаны как критическими, так и вспомогательными, и стандартные декодеры должны реагировать соответствующим образом; общие номера версий не помогают для частных расширений.

Гипотетический фрагмент для векторной графики был бы критическим фрагментом, поскольку, если их игнорировать, важные части предполагаемого изображения будут отсутствует. Кусок, содержащий координаты множества Мандельброта для фрактальное изображение будет вспомогательным, так как другие приложения могут отображать изображение, не понимая, что оно представляет.В общем, тип чанка должен быть сделан критическим только в том случае, если невозможно отобразить разумное представление предполагаемого изображения без интерпретации этого фрагмента.

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

При изменении файла PNG может потребоваться удаление некоторых вспомогательных фрагментов. изменены, чтобы отразить изменения в других фрагментах. Например, гистограмма Чанк необходимо изменить, если данные изображения изменяются. Если редактор файлов не распознает куски гистограммы, копируя их вслепую на новый выходной файл некорректен; такие куски должны быть удалены. То бит свойства safe/unsafe позволяет помечать вспомогательные фрагменты соответственно.

Не все возможные сценарии модификации охватываются безопасным/небезопасным семантика.В частности, куски, которые зависят от общего файла содержимое не поддерживается. (Примером такого чанка является индекс расположения чанков IDAT в файле: добавление комментария чанк непреднамеренно нарушит индекс.) Определение таких чанков обескураженный. Если это абсолютно необходимо для конкретного приложения, такие фрагменты могут быть сделаны критическими фрагментами с последующей потерей переносимость на другие приложения. Как правило, вспомогательные фрагменты могут зависят от критических фрагментов, но не от других вспомогательных фрагментов. это ожидается, что взаимозависимая информация должна быть помещена в один кусок.

В некоторых ситуациях может оказаться неизбежным создание одного вспомогательного фрагмента. зависит от другого. Хотя биты свойства блока недостаточны для представления этого случая доступно простое решение: в зависимый фрагмент, запишите CRC зависимого фрагмента. Оно может затем определить, был ли этот фрагмент изменен каким-либо другим программа.

Та же техника может быть полезна и для других целей.Например, если программа полагается на то, что палитра находится в определенном порядке, она может сохранить частный фрагмент, содержащий CRC фрагмента PLTE. Если это значение совпадает при повторном считывании файла, то оно предоставляет высокая уверенность в том, что палитра не была подделана. Примечание что нет необходимости помечать приватный чанк как небезопасный для копирования когда используется этот метод; таким образом, такой приватный чанк может выжить другое редактирование файла.

12.

14. Палитра гистограмм Зритель может быть не в состоянии предоставить столько цветов, сколько указано в палитра изображения.(Например, некоторые цвета могут быть зарезервированы оконная система.) Для достижения наилучших результатов в этой ситуации полезно иметь информацию о частоте, с которой каждая палитра действительно появляется индекс, чтобы выбрать лучшую палитру для сглаживание или удаление наименее используемых цветов. Поскольку изображения часто создан один раз и просмотрен много раз, есть смысл вычислить это информацию в энкодере, хотя это не является обязательным для кодировщик, чтобы обеспечить его.

Другие форматы изображений обычно решают эту проблему, указывая что элементы палитры должны появляться в порядке частоты использования.Это худшее решение, потому что оно не дает зрителю почти столько же информации: зритель не может определить, какой ущерб будет сделано путем удаления последних нескольких цветов. И не отсортированный палитра дает достаточно информации, чтобы выбрать целевую палитру для сглаживание, в случае, если зрителю необходимо уменьшить количество цвета существенно. Гистограмма палитры предоставляет информацию необходимо выбрать такую ​​целевую палитру, не проходя мимо данные изображения.


Предыдущая страница
Следующая страница
Содержание

Что такое PNG?

Автор: Джон Майкл Пьеробон

PNG означает переносимую сетевую графику.Консорциум World Wide Web (W3C) пишет: «PNG — это расширяемый файл. формат для переносимого, хорошо сжатого хранения растра без потерь картинки. PNG является бесплатной заменой GIF, а также может заменить многие распространенные виды использования TIFF. Индексированный цвет, оттенки серого и истинный цвет поддерживаются изображения, а также дополнительный альфа-канал для прозрачности. Глубина выборки варьируется от 1 до 16 бит.»

W3C разрабатывает руководства, спецификации и инструменты для всемирной паутины.

PNG — это спецификация изображения, специально разработанная для паутина.Ирония в том, что многие веб-разработчики не знают об этом и многие веб-серферы никогда не слышали о PNG.

Основная причина, по которой PNG не используется широко, заключается в том, что отсутствия поддержки отрасли. И Netscape, и Microsoft были очень медленно включают поддержку всех функций PNG. старые браузеры, Например, Netscape 2.02 не может отображать изображения PNG. Новые браузеры может отображать изображения PNG, но не в полной мере.

Две важные функции, не полностью поддерживаемые, находятся в альфа-версии. канальная и гамма-коррекция.Альфа-канал (также называемый каналом маски) допускает переменную прозрачность, поэтому изображения с прозрачным фоном сливаются в любой цвет, против которого они помещены. Гамма-коррекция учитывает кроссплатформенные различия в яркости изображений, поэтому изображения всегда будут выглядеть одинаково независимо от браузера.

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

Все три типа изображений PNG (истинный цвет, оттенки серого и палитра) может иметь альфа-информацию. PNG сохраняет красный, зеленый, синий и альфа-канал (RGBA) информация для каждого пикселя. Так, например, работает переменная прозрачность очень хорошо работает с тенями и изображениями с эффектом растушевки.

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

Еще одним преимуществом PNG является сжатие.Почти в каждом Например, PNG имеет лучшее сжатие, чем GIF. Лучшее сжатие означает изображения загружаются быстрее.

Сжатие PNG и GIF «без потерь». Сжатие без потерь означает, что информация об изображении не теряется. С участием сжатие с потерями, информация теряется. Сжатие с потерями возможно с JPEG, а иногда может потребоваться пожертвовать изображением качество (и данные) ради размера изображения и времени загрузки. Там бывают времена, когда формат изображения JPEG лучше, чем PNG, но PNG был предназначен для замены GIF, а не JPEG.

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

Когда PNG полностью поддерживается всеми браузерами, он может достичь намеченной цели замены GIF. На данный момент вы знаете, что это и его цель.

Университет Лонг-Айленда

Джон Коллинз
Генеральный директор
На месте

Дитер Вайнанд
Исполнительный вице-президент по первичной медико-санитарной помощи
Санофи

Рэймонд Далио
Основатель и ИТ-директор
Bridgewater Associates

Хорхе Перес
Председатель и главный исполнительный директор
Родственная группа

Джанет ДиФьоре
Главный судья
Апелляционный суд Нью-Йорка

Стивен Бандровчак
Президент и главный операционный директор
Xerox

Гэри Винник
Основатель и генеральный директор
Винник и компания

Кеннет Арецкий
Владелец
Патрон Арецкого

Розмари Розер
Президент
Финансовый директор Interactive

Роберт Арнинг
Председатель Фонда и менеджер по работе с клиентами
KPMG

Питер Гибсон
Со-генеральный директор
Knowledgent

Линда Лопес
Журналист и репортер
WPIX, WWOR-TV, WCBS-AM

Алан Хан
Спортивный аналитик и ведущий ток-шоу
Нью-Йорк Никс

Деррик Дэвис
Бродвейский артист
Король Лев

Дж. Майкл Стэнли
Управляющий директор
Rosenthal & Rosenthal

Дэнни Симмонс
Соавтор
Def Poetry Jam

Дэвид Клайн
Технический директор
News Corp

Джеймс Фланаган
Заместитель председателя
Pricewaterhouse Coopers

Аль Кан
Председатель и главный исполнительный директор
CraneKahn LLC

Сарабет Левин
Владелец
Сарабет

Джо Гатто
Продюсер, актер и комик
Непрактичные шутники

Фред Гауделли
Исполнительный продюсер
Воскресный ночной футбол NBC

Ян Гинзберг
Президент
К.О. Бигелоу

Ховард Мурад
Основатель
Murad Skincare

Томас Буонайуто
Президент и главный исполнительный директор
Empire National Bank

Ирен Нативидад
Основатель и президент
Всемирный саммит женщин

Джон Канас
Председатель
BankUnited Inc.

Ховард Лорбер
Президент и главный исполнительный директор
Vector Group

Билл Нути
Президент
Корпорация NCR

Брайан Килмид
Ведущий новостей/Автор
Fox & Friends

Дождь и сияние: холод

Дождь и сияние: холод

Слушатели Ridgway и Ouray могут испытывать статические помехи из-за неисправности нашего 88. 9 переводчик. Мы работаем над этой проблемой и приносим извинения за неудобства.

Опубликовано 21 января 2022 г., 10:10 по московскому времени.

Фото: Джесси Гибсон

/

В это время года на льду может быть хлопотно, но эти холодные дни на самом деле хороши для нас и для растений и животных, которые здесь живут! Узнайте о трех способах, которыми холод помогает всем нам оставаться здоровыми здесь, в Западном Колорадо.

Калла Роуз родилась в Тусоне, штат Аризона, и выросла на западе Скалистых гор.Она училась в школе Shining Mountain Waldorf в Боулдере, штат Колорадо, K-12, и получила степень в области международной политической экономии по классу классической виолончели в Университете Пьюджет-Саунд. Проведя некоторое время в Калифорнии, она счастливо вернулась в Колорадо и живет в Паонии.

X Games стартуют по мере приближения COVID и Олимпиады

Это была странно тихая сцена, когда Джейми Андерсон, так называемая королева X Games, завоевала золотую медаль в слоупстайле на X Games 2021 года.

Толпы не было — из-за опасений по поводу COVID-19.

Андерсон рад вернуться в этом году, чтобы участвовать в соревнованиях, которые многие спортсмены считают вершиной зимних спортивных соревнований.

«У X Games всегда очень хорошая атмосфера», — сказала она. «У них лучший парк, действительно хорошая труба, трамплины всегда на высоте».

Фанаты тоже вернулись.

На протяжении многих лет X Games Aspen ежегодно собирает более 100 000 человек в течение нескольких дней, по данным медиацентра мероприятия.

Представители средств массовой информации X Games отказались поделиться ожиданиями относительно явки в этом году, но вице-президент Тим ​​Рид ответил на вопрос о COVID на пресс-конференции во вторник.

«Мы все очень рады возвращению фанатов, — сказал он. «Когда мы приняли это решение, это был своего рода доомикронный всплеск. … Мы больше спорили, например, занимаемся ли мы большим музыкальным делом? Насколько масштабных мы действительно хотим достичь в этом году?»

Мероприятие набирает обороты. Помимо личной аудитории на конкурсе, X Games Music Week стартовала в зале Belly Up в среду и продлится до воскресенья.

Все люди в возрасте 12 лет и старше, желающие посетить концерты и соревнования X Games, должны предъявить документ, подтверждающий полную вакцинацию, а маски требуются во время поездок на шаттле до горы Пахта.

«Я думаю, что мы все чувствуем себя хорошо, например, с точки зрения управления и всех протоколов — безопасности», — сказал Рид. «По сути, мы работаем в соответствии с теми же протоколами безопасности, что и в прошлом году, в этом году, за исключением того, что фанаты не могут прийти, но фанаты должны будут пройти вакцинацию».

Меры предосторожности в отношении COVID на X Games не такие строгие, как на зимних Олимпийских играх в Пекине, где также будут соревноваться несколько спортсменов X Games.

Скотти Джеймс, завоевавший серебро прошлогоднего суперпайпа по сноуборду X Games, будет представлять Австралию на своих четвертых зимних Олимпийских играх.

«Я думаю, что X Games всегда является для нас действительно хорошим ориентиром в конкурентной борьбе», — сказал он. «Вы можете увидеть некоторые раскрытые карты, что всегда приятно с соревновательной точки зрения, и у вас есть неделя на подготовку к Олимпиаде».

Одиннадцать спортсменов из Колорадо должны были принять участие в X Games. Двое из них родом из Долины Ревущих Вилок и выступят в Пекине.

Семнадцатилетняя новенькая Ханна Фаульхабер, , жительница Базальта, как ожидается, покорит суперпайп.

Также в суперпайпе участвует 27-летний лыжник из Аспена Алекс Феррейра, завоевавший серебряную медаль в хафпайпе на зимних Олимпийских играх 2018 года. Ожидается, что Феррейра и Фаулхабер будут представлять сборную США в Пекине.

На обоих соревнованиях есть еще одна сюжетная линия: 30-летний британский американец Гас Кенворти стал первым спортсменом, сделавшим тройную пробку на X Games.Подвиг был совершен на X Games 2014 в Аспене.

Кенворти перестанет участвовать в соревнованиях после того, как будет представлять Великобританию на Олимпийских играх в Пекине.

«У меня пять медалей… но у меня нет золота», — сказал он. «И всегда, всегда, всегда я мечтал выиграть золото X Games. Так что это именно то, за что я буду бороться в эти выходные, а также в Пекине».

Медали этого года, как обычно, были изготовлены вручную художницей из Риджуэя Лизой Иссенберг.

Она по-другому подошла к дизайну этого года после разговора с представителем ESPN.

«Он хочет, чтобы спортсмены могли забрать что-то — медаль — что действительно возвращает их к красоте Аспена, и обычно это будут горы», — сказала она.

Но в этом году дизайн вращается вокруг осины.

«У него была идея просто осиновой рощицы. … Эти высокие, красивые, совершенные, белые, круглые деревья».

Предоставлено Лизой Иссенберг

/

Kiitella Studio

Лиза Иссенберг демонстрирует результаты многомесячного процесса проектирования.

Она воплотила эту идею в самом материале награды — диске из экологически чистой осины, заключенном в стальную трубу. В металлическом корпусе имеется X-образное отверстие, благодаря которому древесина осины визуально выделяется.

Issenberg меняет дизайн каждый год.

«Это не очень хорошая бизнес-модель, — сказала она. «Но, я думаю, это хорошая модель для жизни — держать вещи новыми, держать вещи свежими для всех. И это поддерживает интерес к тому, чем я занимаюсь. Это интересно иметь новый дизайн.

Спортсменки начали зарабатывать эти медали поздно вечером в пятницу, участвуя в слоупстайле среди женщин.

Другие соревнования включают суперпайп (вечер пятницы), биг-эйр (вечер субботы), а также женский лыжный наккл-хак и мужской лыжный суперпайп (позднее воскресенье).

Посещение шоколадной фабрики в Труро

Katie Reed и Josiah Mayo не делают типичный шоколад массового производства.

«80% всего какао, выращиваемого во всем мире, выращивается на западном побережье Африки. Сорт, выращиваемый в Западной Африке, устойчив к болезням и имеет высокий урожай, но имеет очень неинтересный вкусовой профиль», — Кэти. говорит.«Мы решили работать с фермами, использующими модель прямой торговли в Центральной Америке, чтобы вернуть некоторые действительно интересные выращиваемые сорта какао семейной реликвии».

Разные сорта хороши для разных целей — Кэти и Джозай любят какао из Белиза, которое лучше всего подходит для питья шоколада, но они предпочитают другой сорт для своих батончиков.

«Итак, у нас есть пакет бобов око-карибе из Доминиканской Республики. Вы можете почувствовать запах той сильной уксусной кислоты, о которой мы здесь говорили.Наша работа как производителей шоколада состоит в том, чтобы удалить этот аромат настолько, насколько мы сохраним немного, чтобы шоколад имел яркий фруктовый оттенок красной ягоды», — говорит Кэти.

Процесс начинается с распределения бобов на противне и их обжаривания в духовке. Затем Кэти и Джозия раскалывают бобы и отделяют скорлупу от какао-бобов. Перья переходят к машине, которая шлифует их, используя двести фунтов гранита. — объясняет Иосия.

«Это машина, которую мы используем для измельчения наших бобов в очень шелковистую жидкость, как вы можете видеть.”

Это начинает немного больше походить на шоколад, который мы едим.

«Бобы содержат 54% какао-масла, поэтому в них очень много жира, хорошего жира. Все, что вам нужно, это немного тепла и волнения. Несмотря на то, что это выглядит как жидкий шоколад, на самом деле в него еще не добавлен сахар», — говорит Кэти. Она добавляет: «Здесь какао-ликер. Позже сегодня мы добавим сахар и будем вращать его еще пару часов, прежде чем мы начнем коншировать шоколад и получим эти вкусовые оттенки.

Конширование — это процесс, открытый Родольфом Линдтом для производства знаменитого шоколада Lindt. Основная идея состоит в том, чтобы аэрировать жидкий шоколад миксером до тех пор, пока большая часть кислот не испарится, а какао-жиры не будут распределены равномерно.

Далее Кэти и Иосия занимаются чем-то, что называется закалкой. Химически шоколад состоит из шести кристаллов. Чтобы масло какао равномерно распределялось при комнатной температуре и придавало батончикам тот приятный блеск и хруст, которые мы ищем, кристаллы необходимо нагреть до температуры от 88 до 91 градуса по Фаренгейту.

» Если кто-то знаком с темперированием в домашних условиях, то знает, что это может быть очень неточный процесс. Мы можем положить теплый шоколад в вот эту миску, и пока он выходит, вот этот авгур, вот этот насос охлаждает шоколад, и поэтому он выходит темперированным. Это чудо-оборудование, которое позволяет мне делать сотни батончиков в день и действительно делает его более научным, точным и предсказуемым», — говорит Кэти.

Шоколад выливается из темперирующей машины идеальными порциями по 2 унции, каждая из которых заполняет поликарбонатную форму в форме бруска.Кэти и Джозия охлаждают батончики в течение 10–15 минут в холодильнике, чтобы они застыли. Затем они заворачивают каждую вручную в фольгу и бумагу и, наконец, либо раздают по другим местным магазинам, либо продают на месте.

«Когда мы занялись этим, у нас было предчувствие и общепринятое мнение, что хороший шоколад полезен для вас, и было действительно удивительно и приятно видеть все это в СМИ», — добавил Джозия.

Недавние исследования показали, что антиоксиданты в шоколаде с минимальной обработкой могут помочь в борьбе с сердечными заболеваниями, сделать детей более счастливыми и даже предотвратить болезнь Альцгеймера.Сильно обработанный шоколад, особенно шоколад голландской обработки, может содержать до 90% меньше антиоксидантов. Кэти говорит, что изучение природных вариаций какао-бобов и готового продукта побудило ее и Джозайю начать делать собственные батончики.

«Шоколад — такая вездесущая еда, и по мере того, как местное движение за еду росло, я чувствовал, что это был один из тех продуктов, где мы на самом деле не учитывали, откуда он взялся и как он был сделан. И путешествуя с Джосайей за какао, мы посетили все эти невероятные фермы.Увидеть, как настоящее дерево растет и дает плоды, и весь процесс подготовки фермера к превращению в шоколад, было невероятно увлекательно и убедительно. Мы хотели перенести это на Кейп и поделиться этим с людьми».

Движение шоколадных батончиков на плитку находится на подъеме — мелкие производители появляются по всей Новой Англии.

Вот ссылка на рецепт любимого шоколадного торта Элспет.

Вот ссылки на некоторых других любимых мелких производителей Элспет:

Kerchner Artisan Chocolate

Mast Brothers Chocolate

Middlebury Chocolates

Sommerville Chocolate

Этот выпуск впервые вышел в эфир в 2014 году.

Indiana House одобряет снижение налогов на 1 миллиард долларов для предприятий, Hoosiers

Послушайте трансляцию этой истории.

Палата представителей штата Индиана одобрила в четверг пакет мер по снижению налогов, который в конечном итоге будет стоить штату 1 миллиард долларов дохода в год.

Законопроект, HB 1002, включает в себя сочетание налогов на бизнес, коммунальные услуги и подоходный налог с физических лиц. Снижение подоходного налога в конечном итоге спасло бы домохозяйство Хузиера от 56 000 долларов в год, около 128 долларов в виде налогов.

Спикер Палаты представителей

Тодд Хьюстон (R-Fisers) сказал, что даже эта сумма может иметь значение.

«Во времена инфляции каждый доллар имеет значение прямо сейчас, когда вы идете в продуктовый магазин и тратите больше, чем когда-либо раньше», — сказал Хьюстон.

Присоединяйтесь к разговору и зарегистрируйтесь в программе Indiana Two-Way. Отправьте текстовое сообщение «Индиана» на номер 73224. Ваши комментарии и вопросы в ответ на нашу еженедельную рассылку помогут нам найти нужные вам ответы на вопросы штата.

Демократы, такие как член палаты представителей Эд Делани (демократ от штата Индианаполис), заявили, что штат должен инвестировать 1 миллиард долларов в такие вещи, как уход за детьми, студенческий долг и профессиональное обучение.

«Кто является символом Индианы? Это Скрудж МакДак? — спросил ДеЛэйни. — Мы такие?»

Но республиканцы, такие как член палаты представителей Джек Джордан (республиканец от Бремена), заявили, что при рекордных государственных доходах и профиците бюджета снижение налогов является ответственным шагом.

— Люди много работают, — сказал Джордан.«Они должны вернуть свои деньги».

Член палаты представителей Кэри Гамильтон (штат Индианаполис) назвал законопроект «безответственным с финансовой точки зрения». Она утверждала, что со всеми федеральными стимулирующими деньгами, которые вливаются в штат, Индиана до сих пор не знает, как будут выглядеть ее будущие доходы.

Сенатские республиканцы говорили что-то подобное. И из-за этого будущее меры неясно, поскольку она продвигается в противоположную палату. Лидеры Сената Республиканской партии выразили нежелание принимать важные решения о доходах в этом году, желая подождать до бюджетной сессии следующего года.

Свяжитесь с репортером Брэндоном по адресу [email protected] или подпишитесь на него в Твиттере по адресу @brandonjsmith5.

Copyright 2022 Общественные СМИ Индианы. Чтобы увидеть больше, посетите .

.
Опубликовано в категории: Разное

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *