Функция 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
Категория
Графика