Растровая графика
Растровое изображение – это файл данных или структура, представляющая прямоугольную сетку пикселей. Пиксель – наименьшая единица двухмерного цифрового изображения в растровой графике. Пиксель представляет собой неделимый объект прямоугольной (обычно квадратной) формы, обладающий определённым цветом. Растровое компьютерное изображение состоит из пикселов, расположенных по строкам и столбцам. На компьютерном мониторе, бумаге и других отображающих устройствах и материалах.
При использовании растровой графики важным элементом является:
· размер полотна (canvas);
· цветовое пространство (например, RGB);
· количество используемых цветов.
Растровую графику редактируют с помощью растровых графических редакторов. Создается растровая графика фотоаппаратами, сканерами, непосредственно в растровом редакторе, также путем экспорта из векторного редактора или в виде скриншотов.
Достоинства:
1. Растровая графика позволяет создать (воспроизвести) практически любой рисунок, вне зависимости от сложности, в отличие, например, от векторной, где невозможно точно передать эффект перехода от одного цвета к другому (в теории, конечно, возможно, но файл размером 1 МБ в формате BMP будет иметь размер 200 МБ в векторном формате).
|
|
2. Распространённость: растровая графика используется сейчас практически везде: от маленьких значков до плакатов.
3. Высокая скорость обработки сложных изображений, если не нужно масштабирование.
Недостатки:
1. Большой размер файлов с простыми изображениями.
2. Невозможность идеального масштабирования.
Из-за этих недостатков для хранения простых рисунков рекомендуют вместо даже сжатой растровой графики использовать векторную графику.
Растровый графический редактор
Растровый графический редактор – специализированная программа, предназначенная для создания и обработки изображений. Подобные программные продукты нашли широкое применение в работе художников-иллюстраторов, при подготовке изображений к печати типографским способом или на фотобумаге, публикации в Интернете.
Растровые графические редакторы позволяют пользователю рисовать и редактировать изображения на экране компьютера, а также сохранять их в различных растровых форматах.
В противоположность векторным редакторам, растровые используют для представления изображений матрицу точек (bitmap). Однако, большинство современных растровых редакторов содержат векторные инструменты редактирования в качестве вспомогательных.
Наиболее известные растровые редакторы:
- GIMP 2.2.8;
- Adobe Photoshop – самый популярный коммерческий собственнический редактор;
- Adobe Fireworks;
- Corel Photo-Paint;
- Corel Paint Shop Pro;
- Corel Painter;
- GIMP – самый популярный свободный бесплатный редактор;
- Microsoft Paint;
- Microsoft Photo Editor;
- Krita.
Менее известные растровые редакторы:
|
|
- KolourPaint;
- Tux Paint – ориентирован на детей от 3-х лет;
- Paint.NET;
- PhotoFiltre.
Растровые форматы:
Сжатие без потерь:
GIF (Graphics Interchange Format) – формат для обмена изображениями, хранения графических изображений. Формат GIF способен хранить сжатые без потерь изображения в формате до 256 цветов с палитрой, и предназначен, в основном, для чертежей, графиков и т. д.
Независящий от аппаратного обеспечения формат GIF был разработан в 1987 году (GIF87a) фирмой CompuServe для передачи растровых изображений по сетям. В 1989-м формат был модифицирован (GIF89a), были добавлены поддержка прозрачности и анимации. GIF использует LZW-компрессию, что позволяет хорошо сжимать файлы, в которых много однородных заливок (логотипы, надписи, схемы). GIF широко используется на страницах Всемирной Паутины.
Область применения
Изображение в формате GIF хранится построчно, поддерживается только формат с индексированной палитрой цветов. Стандарт разрабатывался для поддержи 256-цветовой палитры. Недокументированной, но поддерживаемой возможностью является сохранение большего количества цветов с помощью анимированного GIF с нулевой задержкой между кадрами. При этом каждый кадр содержит свою палитру. Один из цветов в палитре может быть объявлен «прозрачным». В этом случае в программах, которые поддерживают прозрачность GIF (например, большинство современных браузеров) сквозь пиксели, окрашенные «прозрачным» цветом будет виден фон. «Полупрозрачность» пикселей (технология альфа-канала) не поддерживается.
Сжатие
GIF использует формат сжатия LZW. Таким образом, хорошо сжимаются изображения, строки которых имеют повторяющиеся участки. Например, изображения, в которых много пикселей одного цвета по горизонтали. Алгоритм сжатия LZW относится к форматам сжатия без потерь. Это означает, что восстановленные из GIF данные будут в точности соответствовать упакованным. Следует отметить, что это верно только для 8-битных изображений с палитрой, для цветной фотографии потери будут обусловлены переводом её к 256 цветам. Кроме того, в программе Adobe Photoshop появилась дополнительная возможность сохранять в GIF формат с потерями, которые проявляются как стохастический шум на картинке, сокращая при этом объем файла. Метод сжатия LZW (Lempel-Ziv-Welch) разработан в 1978 году израильтянами Лемпелом и Зивом и доработан позднее в США. Сжимает данные путем поиска одинаковых последовательностей (они называются фразы) во всем файле. Выявленные последовательности сохраняются в таблице, им присваиваются более короткие маркеры (ключи). Так, если в изображении имеются наборы из розового, оранжевого и зеленого пикселов, повторяющиеся 50 раз, LZW выявляет это, присваивает данному набору отдельное число (например, 7) и затем сохраняет эти данные 50 раз в виде числа 7. Метод LZW, так же, как и RLE, лучше действует на участках однородных, свободных от шума цветов, он действует гораздо лучше, чем RLE, при сжатии произвольных графических данных, но процесс кодирования и распаковки происходит медленнее.
Чересстрочный GIF
Формат GIF допускает чересстрочное хранение данных. При этом строки разбиваются на группы, и меняется порядок хранения строк в файле. При загрузке изображение проявляется постепенно, в несколько проходов. Благодаря этому, имея только часть файла, можно увидеть изображение целиком, но с меньшим разрешением.
В чересстрочном GIF'е сначала записываются строки 1, 5, 10 и т. д. Таким образом, загрузив 1/4 данных, пользователь будет иметь представление о целом изображении. Вторым проходом следуют строки 3, 7, 12, разрешение изображения в браузере ещё вдвое увеличивается. Наконец, третий проход передаёт все недостающие строки (2, 4, 6…). Таким образом, задолго до окончания загрузки файла пользователь может понять, что внутри и решить, стоит ли ждать полной загрузки изображения. Чересстрочная запись незначительно увеличивает размер файла, но это, как правило, оправдывается приобретаемым свойством.
|
|
Анимированные изображения
Формат GIF поддерживает анимационные изображения. Фрагменты представляют собой последовательности нескольких статичных кадров, а также информацию о том, сколько времени каждый кадр будет показан на экране. Анимация может быть закольцована, тогда после последнего кадра будет вновь показан первый и так далее.
История
Существует две спецификации формата GIF – GIF 87a и GIF 89a.
Первая спецификация была создана в 1987 году компанией CompuServe для замены устаревшего формата RLE. GIF стал популярен в ходе развития Интернета, так как позволял использовать более компактные (по размеру файла) по сравнению с другими форматами картинки на веб-страницах. Хотя к настоящему времени формат во многом устарел, и для его замены создан формат PNG, он по прежнему широко используется.
PNG (Portable Network Graphics) – растровый формат хранения графической информации, использующий сжатие без потерь. PNG был создан как для улучшения, так и для замены формата GIF графическим форматом, не требующим лицензии для использования.
История формата
Днём рождения PNG можно считать 4 января 1995 года, когда Т. Боутелл предложил в ряде конференций Usenet создать свободный формат, который был бы не хуже GIF. И уже через три недели после публикации идеи были разработаны четыре версии нового формата. Вначале он имел название PBF (Portable Bitmap Format), а нынешнее имя получил 23 января 1995 г. Уже в декабре того же года спецификация PNG версии 0.92 была рассмотрена консорциумом W3C, а с выходом 1 октября 1996 г. версии 1.0 PNG был рекомендован в качестве полноправного сетевого формата.
Область применения
Формат PNG хранит графическую информацию в сжатом виде. Причём это сжатие производится без потерь. Формат PNG спроектирован для замены устаревшего и более простого формата GIF, а также, в некоторой степени, для замены значительно более сложного формата TIFF. Формат PNG позиционируется, прежде всего, для использования в сети Интернет и редактирования графики.
|
|
Он имеет следующие основные преимущества перед GIF:
1. Практически неограниченное количество цветов в изображении (GIF использует в лучшем случае 8-битный цвет).
2. Опциональная поддержка альфа-канала.
3. Возможность гамма-коррекции.
4. Двумерная чересстрочная развёртка.
Патент на формат GIF принадлежит фирме CompuServe что ограничивает возможности его использования в свободном программном обеспечении. К тому же в основе сжатия, применяемого к графическим файлам при сохранении их в формате GIF, лежит алгоритм сжатия LZW, патент на который принадлежал компании Unisys (до истечения его срока действия в 2003). PNG же использует открытый, не запатентованный алгоритм сжатия DEFLATE, бесплатные реализации которого доступны в Интернете. Этот же алгоритм используют многие программы компрессии данных, в том числе PKZIP и gzip (GNU zip). Формат PNG обладает более высокой степенью сжатия для файлов с большим количеством цветов, чем GIF, но разница составляет около 5-25 %, что недостаточно для абсолютного преобладания формата, так как небольшие 2-16 цветные файлы формат GIF сжимает с не меньшей эффективностью.
PNG является хорошим форматом для редактирования изображений, даже для хранения промежуточных стадий редактирования, так как восстановление и пересохранение изображения проходят без потерь в качестве. Также, в отличие, например, от TIFF, спецификация PNG не позволяет авторам реализаций выбирать, какие возможности они собираются реализовать. Поэтому любое сохранённое изображение PNG может быть прочитано в любом другом приложении, поддерживающем PNG.
Различные реализации алгоритма Deflate дают разную степень сжатия, поэтому были созданы программы для пережатия изображений с несколькими вариантами настроек в целях получения наилучшего сжатия – например, advpng из комплекта AdvanceCOMP (использует 7-Zip).
Мультипликация
Существует одна особенность GIF, которая в PNG не реализована – поддержка множественного изображения, особенно мультипликации; PNG изначально был предназначен лишь для хранения одного изображения в одном файле.
Для передачи анимированных изображений был разработан расширенный формат MNG, опубликованный в середине 1999 года и уже поддерживаемый в различных приложениях, однако пока так и не ставший общепринятым.
Некоторые – в частности, разработчики Mozilla Foundation – критиковали MNG за сложность и большой размер реализации, и отсутствие обратной совместимости с PNG. В 2004 году они разработали формат APNG, который не был принят в качестве официального стандарта разработчиками PNG и MNG, но его поддержка к 2008 году была реализована в тестовых сборках некоторых веб-браузеров и программ просмотра изображений.
BMP (Bitmap – битовая карта) – формат хранения растровых изображений. Обычно используется без сжатия.
С форматом BMP работает огромное количество программ, так как его поддержка интегрирована в операционные системы Windows и OS/2. Файлы формата BMP могут иметь расширения.bmp,.dib и.rle. Кроме того, данные этого формата включаются в двоичные файлы ресурсов RES и в PE-файлы.
Глубина цвета в данном формате может быть от 1 до 48 бит на пиксель, максимальные габариты изображения 65535 на 65535 пикселей. В формате BMP есть поддержка сжатия по алгоритму RLE, но, несмотря на это, из-за большого объёма он редко используется в Интернете.
Палитра
Палитра может содержать последовательность четырёхбайтовых полей по числу доступных цветов (256 для 8-битного изображения). Три младших байта каждого поля определяют интенсивность красной, зелёной и синей компоненты цвета, старший байт не используется. Каждый пиксель изображения описан в таком случае одним байтом, содержащим номер поля палитры, в котором сохранен цвет этого пикселя.
Если пиксель изображения описывается 16-битным числом, палитра может хранить три двухбайтных значения, каждое из которых определяет маску для извлечения из 16-битного пикселя красной, зелёной и синей компонент цвета.
Файл BMP может не содержать палитры, если в нём хранится несжатое полноцветное изображение.
Данные изображения
Последовательность пикселей, записанных в том или ином виде. Пиксели хранятся построчно, снизу вверх. Каждая строка изображения дополняется нулями до длины, кратной четырём байтам.
Битность изображения
В зависимости от количества представляемых цветов, на каждую точку отводится от 1 до 48 битов:
- 1 бит – монохромное изображение (два цвета);
- 2 бита – редко используемый формат с 4 возможными цветами (один из режимов CGA);
- 4 бита – 16 цветное изображение, один из режимов работы VGA;
- 8 бит (1 байт) – 256 цветов, последний из режимов, поддерживавших индексированные цвета;
- 16 бит (2 байта) – режим Hi Color, 65536 возможных оттенков;
- 24 бита (3 байта) – True Color. В связи с тем, что 3 байта не очень хорошо соотносятся с степенями двойки (особенно при хранении данных в памяти, где выравнивание данных по границе слова имеет значение), вместо него часто используют 32 битное изображение. В режиме True Color на каждый из трёх каналов (в режиме RGB) отводится по 1 байту (256 возможных значений), общее количество цветов равно 16777216;
- 32 бита (4 байта) – этот режим практически аналогичен True Color, четвёртый байт обычно используется для хранения альфа-канала (прозрачности) или для выравнивания;
- 48 бит (6 байт) – редко используемый формат с повышенной точностью передачи цвета, поддерживается относительно малым количеством программ и оборудования;