Функция BitBlt

Declare Function BitBlt Lib "gdi32" (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

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

hdcDest
Описатель контекста устройства устройства, которое получает переданный блок изображения
nXDest
Координата x точки верхнего левого угла блока изображения (получатель)
nYDest
Координата y точки верхнего левого угла блока изображения (получатель)
nWidth
Ширина в пикселах блока изображения
nHeight
Высота в пикселах блока изображения
hdcSrc
Описатель к контексту устройства устройства, которое содержит блок изображения для копирования
nXSrc
Координата x точки верхнего левого угла блока изображения(источник)
nYSrc
Координата y точки верхнего левого угла блока изображения (источник)
dwRop
Один из следующих флажков, идентифицирующих растровую операцию для передачи блока изображения. Каждая растровая операция использует RGB-значение цвета исходного исходного пиксела, чтобы определить новый цвет пиксела
BLACKNESS = &H42Заполняет область-получатель черным цветом
CAPTUREBLT = &H40000000Include any windows layered on top of the window being used in the resulting image
DSTINVERT = &H550009Инвертирует область-получатель
MERGECOPY = &HC000CAИзображение определяется результатом выполнения операции побитового AND над копируемым изображением или шаблоном
MERGEPAINT = &HBB0226Изображение определяется результатом выполнения операции побитового OR над инвертируемым копируемым и областью-получателем
NOMIRRORBITMAP = &H80000000Предотвращает точечный рисунок от зеркального отражения
NOTSRCCOPY = &H330008Изображение определяется инвертируемым исходным изображением
NOTSRCERASE = &H1100A6Комбинирование цвета и прямоугольников источника и получателя, использующих поразрядный оператор OR с последующим инвертированием результирующего цвета
PATCOPY = &HF00021Шаблон копируется в область получатель
PATINVERT = &H5A0049Комбинирование цвета указанного шаблона с цветами прямоугольника получателя, используя поразрядный оператор XOR
PATPAINT = &HFB0A09Комбинирование цвета указанного образца с цветами перевернутого исходного прямоугольника, используя поразрядный оператор OR. Комбинируйте результат той операции с цветами прямоугольника получателя, используя поразрядный оператор OR
SRCAND = &H8800C6Комбинирование цвета и прямоугольников источника и получателя с использованием оператора AND
SRCCOPY = &HCC0020Копирование исходного прямоугольника непосредственно в прямоугольник-получатель без изменений
SRCERASE = &H440328Комбинирование перевернутых цветов прямоугольника получателя с цветами источника, используя поразрядный оператор AND
SRCINVERT = &H660046Комбинирование цвета и прямоугольников источника и получателя с использованием оператора XOR
SRCPAINT = &HEE0086Комбинирование цвета и прямоугольников источника и получателя с использованием оператора OR
WHITENESS = &HFF0062Заполняет область-получатель белым цветом

Пример


' Копируем изображение прямоугольника из формы Form1 в форму Form2
' используя SRCCOPY.  Прямоугольник имеет ширину 100 и высоту
' 50.  Верхний левый угол источника- (350, 250)
'копия расположится в координатах (0,0) формы Form2
Dim lRet As Long ' возвращаемое значение

' Переместим изображение точно как описано выше
lRet = BitBlt(Form2.hDC, 0, 0, 100, 50, Form1.hDC, 350, 250, SRCCOPY)

Смотри также

StretchBlt

Категория

Графика

Реклама