Oxygen » 19.08.2003 (Вт) 12:59
Выдрано из справочника по API:
Функция BitBlt
Declare Function BitBlt Lib "gdi32.dll" (ByVal hdcDest As Long, ByVal nXDest As Long, ByVal nYDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal dwRop As Long) As Long
Платформа
Windows 95/98: Поддерживается.
Windows NT: Требуется Windows NT 3.1 или выше.
Windows 2000: Поддерживается.
Windows CE: Требуется Windows CE 1.0 или выше.
BitBlt используется для выполнения операции копирования отдельных битов из области источника изображения в область-получатель.Функция позволяет передавать прямоугольную область из контекста устройства в контекст другого устройства. Размеры переданного прямоугольника совершенно сохраняются.
Возвращаемое значение
В случае ошибки функция возвращает 0 (Windows NT, 2000: используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает значение отличное от нуля.
Параметры
hdcDest
Дескриптор контекста устройства устройства, которое получает переданный блок изображения.
nXDest
Координата x точки верхнего левого угла блока изображения(получатель).
nYDest
Координата y точки верхнего левого угла блока изображения(получатель).
nWidth
Ширина в пикселах блока изображения.
nHeight
Высота в пикселах блока изображения.
hdcSrc
Дескриптор к контексту устройства устройства, которое содержит блок изображения для копирования.
nXSrc
Координата x точки верхнего левого угла блока изображения(источник).
nYSrc
Координата y точки верхнего левого угла блока изображения(источник).
dwRop
Один из следующих флажков, идентифицирующих растровую операцию для передачи блока изображения. Каждая растровая операция использует RGB-значение цвета исходного исходного пиксела, чтобы определить новый цвет пиксела.
BLACKNESS
Заполняет область-получатель черным цветом.
CAPTUREBLT
Windows 98, 2000: Include any windows layered on top of the window being used in the resulting image.
DSTINVERT
Инвертирует область-получатель.
MERGECOPY
Изображение определяется результатом выполнения операции побитового AND над копируемым изображением или шаблоном.
MERGEPAINT
Изображение определяется результатом выполнения операции побитового OR над инвертируемым копируемым и областью-получателем.
NOMIRRORBITMAP
Windows 98, 2000: Предотвращает точечный рисунок от зеркального отражения.
NOTSRCCOPY
Изображение определяется инвертируемым исходным изображением.
NOTSRCERASE
Комбинирование цвета и прямоугольников источника и получателя, использующих поразрядный оператор OR с последующим инвертированием результирующего цвета.
PATCOPY
Шаблон копируется в область получатель.
PATINVERT
Комбинирование цвета указанного шаблона с цветами прямоугольника адресата, используя поразрядный оператор XOR.
PATPAINT
Комбинирование цвета указанного образца с цветами перевернутого исходного прямоугольника, используя поразрядный оператор OR. Комбинируйте результат той операции с цветами прямоугольника адресата, используя поразрядный оператор OR.
SRCAND
Комбинирование цвета и прямоугольников источника иадресата, использующих поразрядный оператор AND.
SRCCOPY
Копирование исходного прямоугольника непосредственно в прямоугольник адресата без изменений.
SRCERASE
Комбинирование перевернутых цветов прямоугольника адресата с цветами источника , используя поразрядный оператор AND.
SRCINVERT
Комбинирование цвета и прямоугольников источника и адресата, использующих поразрядный оператор XOR.
SRCPAINT
Комбинирование цвета и прямоугольников источника и адресата, использующих поразрядный оператор OR.
WHITENESS
Заполняет область-получатель белым цветом.
Константы
Const BLACKNESS = &H42
Const DSTINVERT = &H550009
Const MERGECOPY = &HC000CA
Const MERGEPAINT = &HBB0226
Const NOTSRCCOPY = &H330008
Const NOTSRCERASE = &H1100A6
Const PATCOPY = &HF00021
Const PATINVERT = &H5A0049
Const PATPAINT = &HFB0A09
Const SRCAND = &H8800C6
Const SRCCOPY = &HCC0020
Const SRCERASE = &H440328
Const SRCINVERT = &H660046
Const SRCPAINT = &HEE0086
Const WHITENESS = &HFF0062
Пример
' Копируем изображение прямоугольника из формы Form1 в форму Form2
' используя SRCCOPY. Прямоугольник имеет ширину 100 и высоту
' 50. Верхний левый угол источника- (350, 250); копия расположится в координатах
' (0,0) формы Form2.
Dim retval As Long ' возвращаемое значение
' Переместим изображение точно как описано выше.
retval = BitBlt(Form2.hDC, 0, 0, 100, 50, Form1.hDC, 350, 250, SRCCOPY)