Шаг 777 - CDC::BitBlt

BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );

Возвращаемое значение
Отлично от нуля, если функция успешна, иначе 0.

Параметры
x
Определяет логическую x-координату левого верхнего угла прямоугольника адресата.
y
Определяет логическую y-координату левого верхнего угла прямоугольника адресата.
nWidth
Определяет ширину (в логических модулях) прямоугольника адресата и исходного точечного рисунка.
nHeight
Определяет высоту (в логических модулях) прямоугольника адресата и исходного точечного рисунка.
pSrcDC
Указатель на объект CDC, который идентифицирует контекст устройства из которого точечный рисунок будет скопирован. Должно быть NULL если dwRop определяет растровую операцию, которая не включает источник.
xSrc
Определяет логическую x-координату левого верхнего угла исходного точечного рисунка.
ySrc
Определяет логическую y-координату левого верхнего угла исходного точечного рисунка.
dwRop
Определяет растровую операцию, которую нужно выполнить. Коды растровой операцией определяют, как GDI объединяет цвета в операциях вывода, которые включают текущую кисть, возможный исходный точечный рисунок, и точечный рисунок адресата. Следующие коды растровой операции списков для dwRop и их описаний:

Замечания
Копирует точечный рисунок от исходного контекста устройства до этого текущего контекста устройства.
Прикладная программа может выравнивать окна или клиентские области на границах байта, чтобы гарантировать, что операции Bitblt происходят на выровненных байтом прямоугольниках. (Устновите CS_BYTEALIGNWINDOW или CS_BYTEALIGNCLIENT, когда Вы регистрируете классы окна.)
Операции пересылки строки битов на выровненных байтом прямоугольниках значительно быстрее чем операции Bitblt на прямоугольниках, которые - не выровненный байт. Если Вы хотите определять стили класса типа выравнивания байта для вашего собственного контекста устройства, Вы будете должны регистрировать класс окна скорее чем доверять MFC. Используйте глобальную функцию AfxRegisterWndClass.
GDI трансформирует nWidth и nHeight, один раз, используя контекст устройства адресата, и один раз, используя исходный контекст устройства. Если возникающие в результате протяженность не соответствуют, GDI использует функцию Windows StretchBlt, чтобы сжимать или растягивать исходный точечный рисунок по мере необходимости.
Если адресат, источник, и точечные рисунки образца не имеет того же самого цветного формата, функция Bitblt преобразовывает источник и точечные рисунки образца, чтобы соответствовать адресату. Приоритетные и фоновые цвета точечного рисунка адресата используются в преобразовании.
Когда функция Bitblt преобразовывает одноцветный точечный рисунок в цвет, она устанавливает белые биты (1 к фоновым цветным и черным битам 0 к цвету символа). Приоритетные и фоновые цвета контекста устройства адресата используются. Чтобы преобразовывать цвет в одноцветный, пересылка строки битов устанавливает пиксели, которые соответствуют фоновому цвету к белому, и устанавливает все другие пиксели к черному. Пересылка строки битов использует приоритетные и фоновые цвета цветного контекста устройства, чтобы преобразовать от цвета до одноцветного.
Обратите внимание, что не все контексты устройства поддерживают BitBlt. Чтобы проверять, поддерживает ли данный контекст устройства, BitBlt, используйте GetDeviceCaps функцию с индексом индекс RASTERCAPS.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 4.02.2002