В вычислительной технике растровая графика ( также называемая растровой ) — это изображение, сформированное из строк пикселей разного цвета . [1] GIF — пример графического файла изображения, использующего растровое изображение. [2]
Как существительное, термин «bitmap» очень часто используется для обозначения конкретного приложения для работы с растровыми изображениями: pix-map , которое относится к карте пикселей , где каждый пиксель может хранить более двух цветов, таким образом, используя более одного бита на пиксель. В таком случае рассматриваемый домен — это массив пикселей, которые составляют цифровое графическое устройство вывода (экран или монитор). В некоторых контекстах термин bitmap подразумевает один бит на пиксель, тогда как pixmap используется для изображений с несколькими битами на пиксель. [3] [4]
Растровое изображение — это тип организации памяти или формат файла изображения , используемый для хранения цифровых изображений . Термин «битовое изображение» происходит из терминологии компьютерного программирования , означающей просто карту битов , пространственно отображенный массив битов . Теперь, наряду с pixmap , он обычно относится к похожей концепции пространственно отображенного массива пикселей. Растровые изображения в целом могут называться битовыми картами или пиксельными картами, будь то синтетические или фотографические, в файлах или памяти.
Многие графические пользовательские интерфейсы используют растровые изображения в своих встроенных графических подсистемах. [5] Например, подсистема GDI платформ Microsoft Windows и OS/2 использует формат файла растровой графики Windows и OS/2 , обычно именуемый по расширению файла (или для аппаратно-независимой растровой графики ). Помимо BMP , другие форматы файлов, которые хранят буквальные растровые изображения, включают InterLeaved Bitmap (ILBM) , Portable Bitmap (PBM) , X Bitmap (XBM) и Wireless Application Protocol Bitmap (WBMP) . Аналогично, большинство других форматов файлов изображений, таких как JPEG , TIFF , PNG и GIF, также хранят растровые изображения (в отличие от векторной графики ), но их обычно не называют растровыми изображениями , поскольку они используют сжатые форматы внутри. .BMP
.DIB
В типичных несжатых растровых изображениях пиксели изображения обычно хранятся с переменным числом бит на пиксель, которые идентифицируют его цвет ( глубину цвета ). Пиксели в 8 бит и менее могут представлять либо оттенки серого , либо индексированный цвет . Альфа-канал (для прозрачности ) может храниться в отдельном растровом изображении, где он похож на растровое изображение в оттенках серого, или в четвертом канале, который, например, преобразует 24-битные изображения в 32 бита на пиксель.
Биты, представляющие пиксели растрового изображения, могут быть упакованы или распакованы (разнесены по границам байта или слова) в зависимости от формата или требований устройства. В зависимости от глубины цвета пиксель на изображении будет занимать не менее n/8 байт, где n — битовая глубина.
Для несжатого, упакованного в строки растрового изображения, например, хранящегося в формате файла Microsoft DIB или BMP , или в несжатом формате TIFF , нижнюю границу размера хранилища для растрового изображения с разрешением n бит на пиксель (2 n цветов) в байтах можно рассчитать следующим образом:
где ширина и высота указаны в пикселях.
В приведенной выше формуле размер заголовка и размер цветовой палитры , если таковые имеются, не включены. Из-за эффектов заполнения строк для выравнивания начала каждой строки по границе единицы хранения, например, слова , могут потребоваться дополнительные байты.
Microsoft определила особое представление цветных битовых карт с различной глубиной цвета , как помощь в обмене битовыми картами между устройствами и приложениями с различными внутренними представлениями. Они назвали эти независимые от устройств битовые карты «DIB», а формат файла для них называется форматом файла DIB или форматом файла BMP . Согласно поддержке Microsoft: [6]
Аппаратно-независимый битовый массив (DIB) — это формат, используемый для определения аппаратно-независимых битовых массивов в различных цветовых разрешениях . Основное назначение DIB — обеспечить возможность перемещения битовых массивов с одного устройства на другое (отсюда и часть названия «аппаратно-независимый»). DIB — это внешний формат, в отличие от аппаратно-зависимого битового массива, который отображается в системе как объект битовой карты (созданной приложением...). DIB обычно транспортируется в метафайлах (обычно с использованием функции StretchDIBits()), файлах BMP и буфере обмена (формат данных CF_DIB).
Здесь «аппаратно-независимый» относится к формату или устройству хранения и его не следует путать с аппаратно-независимым цветом .
X Window System использует похожий формат XBM для черно-белых изображений и XPM ( pixelmap ) для цветных изображений. Используется множество других несжатых форматов растровых файлов, хотя большинство из них не так широко распространены. [7] Для большинства целей используются стандартизированные сжатые растровые файлы, такие как GIF , PNG , TIFF и JPEG . Сжатие без потерь , в частности, обеспечивает ту же информацию, что и растровое изображение, в меньшем размере файла. [8] TIFF и JPEG имеют различные варианты. JPEG обычно является сжатием с потерями . TIFF обычно либо несжатый, либо сжатый без потерь по методу Лемпеля-Зива-Уэлча , как GIF . PNG использует сжатие без потерь deflate , другой вариант Лемпеля-Зива .
Также существует множество «сырых» файлов изображений, которые хранят необработанные битовые карты без какой-либо другой информации. Такие необработанные файлы представляют собой просто битовые карты в файлах, часто без заголовка или информации о размере (они отличаются от фотографических форматов необработанных изображений , которые хранят необработанные данные сенсора в структурированном контейнере, таком как формат TIFF, вместе с обширными метаданными изображения ).
Термин «битовая карта», строго говоря, применяется только к двухуровневым системам с 1 битом на пиксель; для систем с несколькими битами на пиксель мы используем более общий термин «пиксельная карта» (сокращение от «пиксельная карта»).