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

В операционной системе Windows используются три формата битовых изображений - аппаратно-зависимый DDB (device-dependent bitmap), аппаратно-независимый DIB (device-independent bitmap) и DIB-секции.

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

Функция BitBlt

BOOL BitBlt(hDestDC, nDestX, nDestY, nDestWidth, nDestHeight, hSrcDC, nSrcX, nSrcY, dwROP);

Функция осуществляет передачу изображений между двумя контекстами устройств, при этом передается прямоугольный фрагмент, который на контексте-приемнике и на контексте-источнике имеет одинаковые размеры. Для задания координат и размеров используется логическая система координат, и логический размер изображения в обеих системах может быть различным.

Отдельно надо рассмотреть случай, когда один из контекстов является цветным, а другой черно–белым — при этом особым образом осуществляется преобразование цветов:

– при переходе от монохромного к цветному цвет, закодированный 1, соответствует цвету фона (задаваемому функцией SetBkColor), а цвет 0 — цвету текста (функция SetTextColor).

– при переходе от цветного к монохромному считается, что если цвет точки совпадает с цветом фона, то эта точка кодируется цветом 1, иначе 0.


Функция PatBlt не может рисовать битовые изображения, но используется для закраски прямоугольных областей экрана. Эта функция имеет имя PatBlt:

BOOL WINAPI PatBlt(HDC hdc, // контекст для рисованияint nX, // x-координата верхнего левого угла закрашиваемой областиint nY, // y-координата верхнего левого угла закрашиваемой областиint nWidth, // ширина областиint nHeight, // высота областиDWORD dwRop); // код растровой операции

При использовании этой функции можно закрашивать области экрана с использованием следующих кодов растровых операций: PATCOPY, PATINVERT, PATPAINT, DSTINVERT, BLACKNESS, WHITENESS.

Возвращаемое функцией PatBlt значение равно TRUE при успешном завершении или FALSE при ошибке.


Битовое изображение DDB есть набор бит в оперативной памяти, который может быть отображен на устройстве вывода (например, выведен на экран видеомонитора или распечатан на принтере). Внутренняя структура изображения DDB жестко привязана к аппаратным особенностям устройства вывода. Поэтому представление изображения DDB в оперативной памяти полностью зависит от устройства вывода.

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

Аппаратно-независимое битовое изображение DIB содержит описание цвета пикселов изображения, которое не зависит от особенностей устройства отображения. Операционная система Windows после соответствующего преобразования может отобразить такое изображение на любом устройстве вывода.

Первые версии операционной системы Windows могли работать только с аппаратно-зависимыми изображениями DDB.

Кроме битовых изображений используются так называемые векторные изображения.

Чтобы использовать формат DDB в контексте устройства, он должен иметь организацию цвета этого контекста устройства. Поэтому, аппаратно-зависимый растровый формат (DDB) часто называется совместимым точечным рисунком (compatible bitmap) и обычно имеет производительность в GDI выше, чем аппаратно-независимый растровый формат (DIB).



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: