Презентация_4

advertisement
Кодирование цвета. Палитра
В формате True Color каждая компонента представлена в виде байта, что дает
256 градаций для каждой компоненты: R=0...255, G = 0...255, В = 0...255.
Количество цветов составляет 256x256x256 = 16.7 млн. (224).
Такой способ кодирования цветов можно назвать компонентным
С = 00000000 bbbbbbbb gggggggg rrrrrrrr.
Палитра 16 цветных видеорежимов EGA, VGA
Код цвета
R
G
В
Название цвета
0
0
0
0
Черный
1
128
0
0
Темно-красный
2
0
128
0
Зеленый
3
128
128
0
Коричнево-зеленый
4
0
0
128
Темно-синий
5
128
0
128
Темно-пурпурный
6
0
128
128
Сине-зеленый
7
128
128
128
Серый 50%
8
192
192
192
Серый 25%
9
255
0
0
Красный
10
0
255
0
Ярко-зеленый
11
255
255
0
Желтый
12
0
0
255
Синий
13
255
0
255
Пурпурный
14
0
255
255
Голубой
15
255
255
255
Белый
Формат файлов для хранения растровых изображений BMP
BITMAPFILEHEADER
14 байт
BITMAPINFOHEADER
40 байт
Палитра
Битовый массив
растрового
изображения
Размер зависит от
количества цветов
Число байт определяется
размерами растра и глубиной
цвета
Заголовок файла BMP называется BITMAPFILEHEADER. В
помещается общее описание файла. Заголовок имеет следующие поля:
WORD bfГуре —хранит символы "ВМ". Это код формата.
DWORD bfSize — общий размер файла в байтах.
WORD bfReserved1 — зарезервировано, пока что равно 0.
WORD bfReservcd2 — зарезервировано, пока что равно 0.
DWORD bfOffBits — адрес битового массива в данном файле.
нем
заголовок— BITMAPINFOHEADER, в котором хранится описание размеров
растра и цветового формата пикселов. Здесь имеются такие поля:
DWORD biSize — размер заголовка, равен 40.
LONG biWidth — ширина растра в пикселах.
LONG biHeight — высота растра в пикселах.
WORD biPlanes — должно быть равно 1.
WORD biBitCount — бит на пиксел, может быть 1, 4, 8, 16, 24 или 32.
DWORD biCompression — равно нулю.
DWORD biSizelmage — размер в байтах битового массива растра.
LONG biXPelsPerMeter — разрешение по X в пикселах на метр.
LONG biYPelsPerMeter — разрешение по Y в пикселах на метр.
DWORD biClrUsed — если равно 0, то используется макс, число цветов.
DWORD biCIrlmportant — равно 0, если biClrUsed = 0.
палитра в виде записей RGBQUAD. Каждая запись содержит четыре поля.
BYTE rgbBlue — цветовая компонента В, от 0 до 255.
BYTE rgbGreen — компонента G.
BYTE rgbRed — компонента R.
BYTE rgbReserved — не используется, равно 0.
Количество записей RGBQUAD равно количеству используемых цветов. Палитра
отсутствует, если число бит на пиксел равно 24. Также палитра не нужна и для
некоторых цветовых форматов 16 и 32 бит на пиксел.
Здесь приняты такие обозначения для типов полей:
BYTE — однобайтовое целое число без знака.
WORD —r двухбайтовое целое число без знака.
DWORD — четырехбайтовое целое число без знака. LONG — четырехбайтовое
целое число со знаком.
После палитры (если она есть) в файле BMP записывается растр в виде битового
(а точнее, байтового массива). В битовом массиве последовательно записываются
байты строк растра. Количество байт в строке должно быть кратно четырем
Download