Кодирование цвета. Палитра В формате 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 записывается растр в виде битового (а точнее, байтового массива). В битовом массиве последовательно записываются байты строк растра. Количество байт в строке должно быть кратно четырем