Структура точечный рисунок имеет следующую форму:
typedef struct tagBITMAP { / * bm * /
int bmType;
int bmWidth;
int bmHeight;
int bmWidthBytes;
БАЙТ bmPlanes;
БАЙТ bmBitsPixel;
LPVOID bmBits;
} ТОЧЕЧНЫЙ РИСУНОК
Точечный рисунок структура определяет высоту, ширину, цветовой формат и битовых значений логических точечного рисунка.
Члены
bmType
Указывает тип точечного рисунка. Для логических точечные рисунки этот член должен быть 0.
bmWidth
Определяет ширину растрового изображения в пикселах. Ширина должна быть больше нуля.
bmHeight
Определяет высоту растрового изображения в растровые линии. Высота должна быть больше нуля.
bmWidthBytes
Указывает число байтов в каждой растровые линии. Это значение должно быть четным числом, так как интерфейс графических устройств (GDI) предполагает, что значения бит точечного рисунка формируют массив целочисленных значений (2-байтные). Другими словами, bmWidthBytes * 8 должен быть следующий кратного 16 больше или равно значению, когда член bmWidth умножается на bmBitsPixel члена.
bmPlanes
Указывает количество плоскостей цвета в точечный рисунок.
bmBitsPixel
Определяет количество бит смежных цветов на каждой плоскости, необходимо определить один пиксел.
bmBits
Указывает расположение битовых значений для растрового изображения. BmBits член должен быть длинный указатель на массив 1-байтовых значений.
Комментарии
В настоящее время используемые растровые форматы являются монохромных и цветных. Монохромный растровый использует формат 1-битовый, 1 самолет. Каждый scan является кратной 16 бит.
Сканирование для монохромных растровых высоты n организуются следующим:
Сканирования 0
Сканирование 1
.
.
.
Сканировать n-2
Сканировать n-1
Пикселей на монохромные устройства являются либо черного или белого цвета. Если соответствующий бит в точечный рисунок 1, то пиксел включается (белый). Если соответствующий бит в битовой карте равно 0, то пиксел выключен (черный).
Все устройства поддерживают растровые изображения, которые имеют набор бит RC_BITBLT в RASTERCAPS индексе функции-члена CDC::GetDeviceCaps.
Каждое устройство имеет свой собственный уникальный цветовой формат. Для того чтобы перенести растрового изображения с одного устройства в другое, использовать GetDIBits и SetDIBits Windows функции.
См. также CBitmap::CreateBitmapIndirect