Битовые изображения в формате DIB


При самостоятельном желании понять тему " Битовые изображения в формате DIB " вам поможет наш ресурс. Для вас наши специалисты подготовили материал, изучив который вы будете разбираться в ней уровне профессионала. А если у вас останутся вопросы, то задать их вы сможете прямо на сайте написав в чат онлайн-консультанта.

оформить заявку

Слишком сложно? Тогда запросите консультацию специалиста!

Наша компания занимается тем, что помогает студентам выполнять различные учебные работы на заказ. Вы можете ознакомиться с перечнем выполняемых работ, а так же с их стоимостью на странице с ценами.

ознакомиться с условиями

Изображения DIB, в отличие от изображений DDB, являются аппаратно-независимыми, поэтому без дополнительного преобразования их нельзя отображать на экране с помощью функций BitBlt и StretchBlt. В операционной системе Windows битовые изображения хранятся в файлах с расширением имени bmp, при этом используется аппаратно-независимый формат DIB.

Формат bmp-файлов представлен на рис. 3.1

Рис. 3.1

Файл, содержащий битовое изображение, начинается со структуры BITMAPFILEHEADER. Эта структура описывает тип файла и его размер, а также смещение области битов изображения.

typedef struct tagBITMAPFILEHEADER {

WORD bfType; // Признак BMP – файла, 42 4D (коды букв ВМ)

DWORD bfSize; // Размер файла

WORD bfReserved1; // Первое резервное поле - всегда ноль.

WORD bfReserved2; // Второе резервное поле - тоже ноль

DWORD bfOffBits; // Смещение от начала файла до первого

// байта графических данных

} BITMAPFILEHEADER, *PBITMAPFILEHEADER;

Сразу после структуры BITMAPFILEHEADER в файле следует структура BITMAPINFO, которая содержит описание изображения и таблицу цветов.

typedef struct tagBITMAPINFO {

BITMAPINFOHEADER bmiHeader;

RGBQUADbmiColors[1];

} BITMAPINFO, *PBITMAPINFO;

Описание изображения (размеры изображения, метод компрессии, размер таблицы цветов и т. д.) находится в структуре BITMAPINFOHEADER.

typedef struct tagBITMAPINFOHEADER{

DWORD biSize; // Размер BITMAPINFOHEADER в байтах.

LONG biWidth; // Ширина картинки в пикселах

LONG biHeight; // Высота картинки в пикселах

WORD biPlanes; // Количество битовых плоскостей (=1, см. MSDN)

WORD biBitCount; // Количество бит на пиксел (определяет

// Mаксимальное число цветов в bitmap)

DWORD biCompression; // Cпособ сжатия (0 - данные не сжимаются).

DWORD biSizeImage; // Размер изображения в байтах (без заголовков)

LONG biXPelsPerMeter; // Число пикселов на метр по горизонтали

LONG biYPelsPerMeter; // Число пикселов на метр по вертикали

DWORD biClrUsed; // Количество элементов палитры, хранящихся

// после заголовка

DWORD biClrImportant; // Количество разных цветов, действительно

// используемых в рисунке.

} BITMAPINFOHEADER, *PBITMAPINFOHEADER;

В некоторых случаях (не всегда) в файле может присутствовать палитр а –таблица цветов (как массив структур RGBQUAD), присутствующих в изображении.

typedef struct tagRGBQUAD

{

BYTE rgbBlue;

BYTE rgbGreen;

BYTE rgbRed;

BYTE rgbReserved;

} RGBQUAD;

Па­литра отсутствует, если число бит на пиксел равно 24. Также палитра не нужна и для некоторых цветовых форматов 16 и 32 бит на пиксел.




После палитры (если она есть) в файле BMP записывается растр в виде бито­вого (а точнее, байтового массива). В битовом массиве последовательно за­писываются байты строк растра. Количество байт в строке должно быть кратно четырем, поэтому если количество пикселов по горизонтали не соот­ветствует такому условию, то справа в каждую строку дописывается некото­рое число битов (выравнивание строк на границу двойного слова).

Точное значение смещения битов изображения находится в структуре BITMAPFILEHEADER.


Хм, так же просматривали

Заказ

ФОРМА ЗАКАЗА

Бесплатная консультация

Наша компания занимается написанием студенческих работ. Мы выполняем: дипломные, курсовые, контрольные, задачи, рефераты, диссертации, отчеты по практике, решаем тесты и задачи, и многие другие виды заданий. Чтобы узнать стоимость, а так же условия выполнения работы заполните заявку на этой странице. Как только менеджер увидит ваше сообщение, он сразу же свяжется с вами.

Этапность

СОПРОВОЖДЕНИЕ КЛИЕНТА

Получить работу можно всего за 4 шага

01
Оставляете запрос

Оформляете заказ работы, заполняя форму на сайте.

02
Узнаете стоимость

Менеджер оценивает сложность. Узнаете точную цену.

03
Работа пишется

Оплачиваете и автор приступает к выполнению задания.

04
Забираете заказ

Получаете работу в электронном виде на вашу почту.

Услуги

НАШ СЕРВИС

Что мы еще делаем?

icon
Рефераты

от 580 рублей

ПОДРОБНЕЕ
icon
Аттестационные работы

от 1780 рублей

ПОДРОБНЕЕ
icon
Самостоятельные работы

от 680 рублей

ПОДРОБНЕЕ
icon
Сочинения

от 280 рублей

ПОДРОБНЕЕ
icon
Научные статьи

от 2300 рублей

ПОДРОБНЕЕ
icon
Проверка на антиплагиат

от 40 рублей

ПОДРОБНЕЕ