Функция StretchBlt

Declare Function StretchBlt Lib "gdi32" _
        (ByVal hdc As Long, ByVal x As Long, _
        ByVal y As Long, ByVal nWidth As Long, _
        ByVal nHeight As Long, ByVal hSrcDC As Long, _
        ByVal xSrc As Long, ByVal ySrc As Long, _
        ByVal hSrcWidth As Long, ByVal nSrcHeight As Long, _
        ByVal dwRop As Long) As Long

StretchBlt копирует часть изображения от одного устройства в другое. Эта функция также позволяет масштабировать (сжимать, растягивать, выворачивать наизнанку, задавая параметры с разными знаками) изображение, в отличие от функции BitBlt
hDestDC
Контекст устройства объекта-получателя
x
Координата x точки, чтобы поместить изображение внутри цели
y
Координата y точки, чтобы поместить изображение внутри цели
nWidth
Ширина части изображения
nHeight
Высота части изображения
xSrc
Координата x левого верхнего угла части изображения в источнике
ySrc
Координата y левого верхнего угла части изображения в источнике
nSrcWidth
Ширина части изображения в источнике
nSrcHeight
Высота части изображения в источнике
dwRop
Флажки, определяющие, какой метод использовать, чтобы копировать исходное изображение:
SRCAND = &H8800C6
Логическое AND двух номеров цвета (источник And получатель)
SRCCOPY = &HCC0020
Точно копирование исходного изображения (получатель = источник)
SRCERASE = &H440328
Логическое And исходного изображения и двоичная инверсия получателя(получатель = источник And (Не получатель)
SRCINVERT = &H660046
Логическое Xor двух номеров цвета (получатель = источник Xor получатель)
SRCPAINT = &HEE0086
Логическое Or этих двух номеров цвета (получатель = источник Or получатель)

Пример

' Копируем часть изображения из Picture1 в Picture2 и
' растягиваем его, чтобы утроить его первоначальную ширину. Первоначальные измерения изображения
' 16x32; его новые 48x32.
' Координаты источника: (45,50)-(60,81)
' Координаты получателя: (0,0)-(47,31)

StretchBlt Picture2.hdc, 0, 0, 48, 32, Picture1.hdc, 45, 50, 16, 32, SRCCOPY

Смотри также

BitBlt

Категория

Графика