В чем разница между изображениями «JPG» / «JPEG» / «PNG» / «BMP» / «GIF» / «TIFF»?

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

Существуют ли стандарты, которые следует учитывать при выборе конкретного типа изображения для использования в приложении? Что мы используем для веб-приложений?

Да. Это разные форматы файлов (и их расширения файлов).

Записи Википедии для каждого из форматов дадут вам довольно много информации:

  • JPEG (или JPG для расширения файла, Joint Photographic Experts Group)
  • PNG (Portable Network Graphics)
  • BMP (битмап)
  • GIF (формат обмена изображениями)
  • TIFF (или TIF, для расширения файла, Tagged Image File Format)

Форматы изображений можно разделить на три широкие категории:

  • сжатие с потерями,
  • без потерь,
  • несжатый,

Несжатые форматы занимают наибольшее количество данных, но они являются точными изображениями изображения. Растровые форматы, такие как BMP, обычно несжаты, хотя есть также сжатые BMP-файлы.

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

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

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

Когда использовать определенный формат сжатия изображений, действительно зависит от того, что сжимается.

Связанный вопрос: Безжалостно сжимать большие изображения для Интернета

Вы должны знать о нескольких ключевых факторах …

Во-первых, есть два типа сжатия: Lossless и Lossy .

Без потерь означает, что изображение уменьшено, но не ухудшает качество. Lossy означает, что изображение сделано (даже) меньше, но в ущерб качеству. Если вы сохранили изображение в формате Lossy снова и снова, качество изображения будет становиться все хуже и хуже.

Существуют также разные глубины цвета (палитры): индексированный цвет и прямой цвет .

С индексированным это означает, что изображение может хранить только ограниченное количество цветов (обычно 256), которые выбраны автором изображения, а Direct означает, что вы можете хранить много тысяч цветов, которые не были выбраны автором.


BMP – Lossless / Indexed и Direct

Это старый формат. Это Lossless (данные изображения не теряются при сохранении), но также практически никакого сжатия, что означает сохранение, поскольку BMP приводит к ОЧЕНЬ большим размерам файлов. Он может иметь палитры как Indexed, так и Direct, но это небольшое утешение. Размеры файлов настолько неоправданны, что никто никогда не использует этот формат.

Хорошо для: Ничего. Существует не что-то, что BMP превосходит или не улучшается другими форматами.

BMP против GIF


GIF – Без потерь / Только индексирование

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

Изображения GIF также могут быть анимированы и иметь прозрачность.

Хорошо для: Логотипы, чертежи линий и другие простые изображения, которые должны быть маленькими. Только на самом деле используется для веб-сайтов.

GIF против JPEG


JPEG – Lossy / Direct

Изображения JPEG были разработаны, чтобы сделать как можно более мелкие фотографические изображения, удалив информацию, которую человеческий глаз не заметит. В результате это формат Lossy, и сохранение одного и того же файла снова и снова приведет к тому, что с течением времени будет потеряно больше данных. У него есть палитра тысяч цветов, и это отлично подходит для фотографий, но сжатие с потерями означает, что это плохо для логотипов и линейных рисунков: они не только выглядят нечеткими, но и такие изображения также будут иметь больший размер файла по сравнению с GIF!

Хорошо для: Фотографии. Кроме того, gradleиенты.

JPEG против GIF


PNG-8 – без потерь / индексирование

PNG – более новый формат, а PNG-8 (индексированная версия PNG) действительно хорошая замена для GIF. Однако, к сожалению, у него есть несколько недостатков: во-первых, он не может поддерживать анимацию, как GIF (может, она может, но только Firefox, похоже, поддерживает ее, в отличие от анимации GIF, которая поддерживается каждым браузером). Во-вторых, он имеет некоторые проблемы с поддержкой старых браузеров, таких как IE6. В-третьих, важное программное обеспечение, такое как Photoshop, имеет очень плохую реализацию формата. (Черт вас, Adobe!) PNG-8 может хранить только 256 цветов, например GIF.

Хорошо для: Главное, что PNG-8 делает лучше, чем GIF, поддерживает Alpha Transparency.

PNG-8 против GIF

Важное примечание. Photoshop не поддерживает Alpha Transparency для файлов PNG-8. (Черт вас, Photoshop!) Есть способы конвертировать PNG-24 в PNG-8 файлы, сохраняя при этом свою прозрачность. Один из методов – PNGQuant , другой – сохранение ваших файлов с помощью Fireworks .


PNG-24 – Lossless / Direct

PNG-24 – отличный формат, который сочетает кодировку Lossless с прямым цветом (тысячи цветов, как JPEG). Это очень похоже на BMP в этом отношении, за исключением того, что PNG фактически сжимает изображения, поэтому в результате получается намного меньше файлов. К сожалению, файлы PNG-24 по-прежнему будут намного больше, чем JPEG, GIF и PNG-8, поэтому вам все равно нужно подумать, хотите ли вы его использовать.

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

Как и PNG-8, PNG-24 поддерживает альфа-прозрачность.

Надеюсь, это поможет!

Как правило, это либо:

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

Lossy compression Lossy compression алгоритмы используют преимущества присущих человеческому глазу ограничений и отбрасывают невидимую информацию. Большинство алгоритмов сжатия с потерями позволяют изменять уровни качества (сжатие), и по мере увеличения этих уровней размер файла уменьшается. При самых высоких уровнях сжатия ухудшение изображения становится заметным как «артефакт сжатия». Изображения, приведенные ниже, демонстрируют заметное артефакты алгоритмов сжатия с потерями; выберите миниатюру для просмотра полноразмерной версии.

Каждый формат отличается, как описано ниже:

Файлы JPEG JPEG (Joint Photographic Experts Group) – это (в большинстве случаев) формат с потерями; расширение имени файла DOS – JPG (другая ОС может использовать JPEG). Почти каждая цифровая камера может сохранять изображения в формате JPEG, который поддерживает 8 бит на цвет (красный, зеленый, синий) для 24-битного итога, создавая относительно небольшие файлы. Когда это не слишком велико, сжатие не заметно ухудшает качество изображения, но файлы JPEG ухудшают деgradleацию поколений при многократном редактировании и сохранении. Фотографические изображения могут быть лучше сохранены в формате без потерь JPEG, если они будут повторно отредактированы, или если небольшие «артефакты» (дефекты, вызванные алгоритмом сжатия JPEG) неприемлемы. Формат JPEG также используется в качестве алгоритма сжатия изображения во многих файлах Adobe PDF.

TIFF TIFF (Tagged Image File Format) – это гибкий формат, который обычно сохраняет 8 бит или 16 бит на цвет (красный, зеленый, синий) для 24-битных и 48-разрядных итогов соответственно, используя либо TIFF, либо имена файлов TIF , Гибкость TIFF – это и благословение, и проклятие, потому что ни один читатель не читает каждый тип файла TIFF. TIFF являются потерями и без потерь; некоторые предлагают относительно хорошее сжатие без потерь для двухуровневых (черно-белых) изображений. Некоторые цифровые камеры могут сохранять в формате TIFF, используя алгоритм сжатия LZW для хранения без потерь. Формат изображения TIFF широко не поддерживается веб-браузерами. TIFF по-прежнему широко используется в качестве стандартного файла фотографии в полиграфическом бизнесе. TIFF может обрабатывать цветовые пространства, специфичные для устройства, такие как CMYK, определенные конкретным набором чернил для печати.

PNG Формат файла PNG (Portable Network Graphics) был создан как свободный, с открытым исходным кодом преемник GIF. Формат файла PNG поддерживает truecolor (16 миллионов цветов), в то время как GIF поддерживает только 256 цветов. Файл PNG отличается тем, что изображение имеет большие, равномерно окрашенные области. Формат PNG без потерь лучше всего подходит для редактирования изображений, а форматы с потерями, такие как JPG, лучше всего подходят для окончательного распределения фотографических изображений, поскольку файлы JPG меньше, чем файлы PNG. Многие старые браузеры в настоящее время не поддерживают формат файла PNG, однако в Internet Explorer 7 все современные веб-браузеры полностью поддерживают формат PNG. Адаптация Adam7 позволяет раннее предварительное просмотрение, даже если передан только небольшой процент данных изображения.

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

BMP Формат файла BMP (bitmap Windows) обрабатывает графические файлы в ОС Microsoft Windows. Как правило, файлы BMP несжаты, поэтому они большие; Преимуществом является их простота, широкое признание и использование в программах Windows.

Использование для веб-страниц / веб-приложений

Ниже приведен краткий обзор этих форматов изображений при их использовании с помощью веб-страницы / приложения.

  • PNG отлично подходит для IE6 и выше (для обеспечения прозрачности работы потребуется небольшой CSS-патч). Отлично подходит для иллюстраций и фотографий.
  • JPG отлично подходит для фотографий в Интернете
  • GIF хорош для иллюстраций, когда вы не хотите переходить на PNG
  • BMP не следует использовать онлайн в веб-страницах – тратится трафик
  • Источник: Форматы файлов изображений

    Поскольку другие освещали различия, я буду использовать их.

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

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

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

    JPG / JPEG в основном используется для любого качества фотографии, но не для текста. Используемое сжатие с потерями имеет тенденцию к резким линиям.

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

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

    JPG> Совместная группа экспертов по фотографиям

    1 JPG-изображения поддерживают 16 миллионов цветов и лучше всего подходят для фотографий и сложной графики

    2 JPG не поддерживают прозрачность.

    PNG> Портативная сетевая графика

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

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

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

    GIF> Формат обмена графикой

    1 Уменьшает количество цветов в изображении до 256.

    2 GIF также поддерживают прозрачность.

    3 GIF имеют уникальную возможность отображать последовательность изображений, похожих на видео, называемых анимированными GIF.

    4 Если изображение имеет несколько цветов и не требует какого-либо расширенного эффекта альфа-прозрачности, GIF – это путь.

    SVG> Масштабируемая векторная графика

    1 SVG – это веб-стандарт на основе XML, который описывает как статические изображения, так и анимации в двух измерениях.

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

    Эти имена относятся к различным способам кодирования данных пиксельных изображений (JPG и JPEG – одно и то же, а TIFF может просто заключать jpeg с некоторыми дополнительными метаданными).

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

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

    Что сказал Курид и Джеральд.

    Кроме того, JPEG является именем формата файла. JPG обычно используется сокращенное расширение файла для этого формата, поскольку вам необходимо иметь расширение с 3-буквенными файлами для более ранних систем Windows. Аналогично с TIFF и TIF.

    В настоящее время веб-браузеры отображают только файлы JPEG, PNG и GIF – так это те, которые могут отображаться на веб-страницах.

    PNG поддерживает прозрачность альфа-канала.

    TIFF может иметь расширенные опции. Географическое привязку для приложений ГИС .

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

    Любите PNG.

    Названные – это все растровые графики, но помимо этого не забывайте о более важной векторной графике. Существуют сжатые и несжатые типы (более или менее), но все они без потерь. Наиболее важными являются:

    • SVG / SVGZ
    • прибыль на акцию
    • EMF / ( WMF )

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

    Интернет, в основном, поддерживает gif, jpg и png. JPEG тот же (или очень близко) к jpg.

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

    Тем не менее, я хочу добавить что-то для общего процесса захвата изображения и его хранения.

    Процесс захвата

    Или вы можете сказать процесс построения (как мы можем рисовать или делать снимки с компьютерами сейчас). Если вы делаете фотографию с помощью камеры, вы уже используете множество датчиков (CCD или CMOS) и алгоритмы (фильтр шаблонов Bayer, подэмплинг и квантование и т. Д.). Также есть такие вещи, как Pixel Format и Color Space . После получения базовой информации о пикселях должен быть способ их хранения.

    Основная структура файла изображения

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

    Типичный файл изображения может состоять из нескольких частей, в основном двух: meta data or file header и pixel data section . meta data сообщают о самом изображении, возможно, о height и width , file format и т. Д. И pixel data section – это реальный section который занимается real picture .

    Сохранение и отображение

    Как мы говорили ранее, файлы хранятся на жестком диске и находятся в байтах / битах. Таким образом, файлы изображений не имеют приоритета, а также streamи байтов. Для показа, может быть, нам стоит узнать, как работает монитор. Типичные мониторы ПК используют модель RGB для отображения.

    Надеюсь это поможет:-)

    Давайте будем гением компьютера.