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

Typedef struct tagBITMAPINFOHEADER

{DWORD biSize; //размер этого заголовка в байтах

LONG biWidth ; //ширина изображения в пикселах

LONG biHeight; //высота изображения в пикселах

WORD biplanes; //количество цветовых плоскостей

WORD bibitCount; //количество битов на пиксел

DWORD biCompression; //используемые методы сжатия

DWORD biSizeImage; //размер растра в байтах

LONG biXPelsPerMeter; //вертикальное разрешение

LONG biYPelsPerMeter; //горизонтальное разрешение

DWORD biClrUsed; //количество цветов в изображении

DWORD biClrImportant; //минимальное количество «важных» цветов

} BITMAPINFOHEADER

//За заголовком растра может следовать палитра цветов, состоящая из //последовательности 4-байтовых структур RGBQUARD

Typedef struct _RGBQUARD

{BYTE rgbBlue; //синяя составляющая

BYTE rgbGreen; // зелёная составляющая

BYTE rgbRed; //красная составляющая

BYTE rgReserved; //заполнитель(всегда 0)

}RGBQUARD;

//Структура BITMAPINFOHEADER и структуры RGBQUARD собираются в структуре BITMAPINFO:

Typedef struct tagBITMAPINFO

{BITMAPINFOHEADER bmiHeader;

RGBQUARD bmiColors[1];

} BITMAPINFO;

После структуры BITMAPINFO на расстоянии bfOffBits (поле структуры BITMAPFILEHEADER) от начала файла начинаются растровые данные. Растровые данные представляют собой индексы в палитре цветов (в случае если bibitCount равно 1, 4, 8) или реальные значения цветов пикселов (в случае если bibitCount равно 24). Если bibitCount равно 24, то каждый пиксел представляется тремя байтами: первый байт - интенсивность синего цвета, затем по байту на зеленый и красный цвет. Этот формат цвета называется RGB888 или RGB24.

Растровые данные, соответствующие одной строке пикселов изображения, вне зависимости от формата цвета должны быть выровнены на границу двойного слова DWORD, т . е. каждая строка пикселов должна описываться целым числом двойных слов. Например, строка из 5 пикселов по 24 бита (3 байта) на пиксел может быть описана 15 байтами, но длина строки растровых данных в формате ВМР должна быть 16 байтов. Последний байт будет служить лишь для целей выравнивания.

Формат ВМР версии 3.x имеет разновидность (для Windows NT), предназначенную для хранения растровых данных с пиксельной глубиной 16 и 32 битов. Этот формат имеет точно такую же структуру заголовка растра BITMAPINFOHEADER. Его длина составляет 40 байтов. Отличие заключается в том, что поле bibitCount может принимать значения 16 и 32.

При пиксельной глубине 16 битов для хранения цвета пиксела отводится два байта (слово - тип WORD), каждому компоненту цвета пиксела отводится по 5 битов (формат цвета RGВ555). Младшие 5 битов задают интенсивность синего цвета, затем по 5 битов на зеленый и красный цвет, старший бит в слове не используется.

К-во Просмотров: 373
Бесплатно скачать Дипломная работа: Разработка программного обеспечения для фильтрации растровых изображений