Функция TransparentBlt

Declare Function TransparentBlt Lib "msimg32.dll" (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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal crTransparent As Long) As Boolean
Одна из новых функций, появившихся в Windows 98. TransparentBlt позволяет накладывать одну картинку на другую, делая выбранный цвет прозрачным. Таким образом, изображение будет как бы просвечивать через другую картинку. Функция содержит возможности по сжатию/растяжению растровых изображений. Но не передавайте в качестве размеров отрицательные значения - зеркального отображения TransparentBlt создавать не умеет

Параметры

hdc
Контекст устройства
x
Координата x в логических единицах верхней левой точки прямоугольника-приемника
y
Координата y в логических единицах верхней левой точки прямоугольника-приемника
nWidth
Ширина прямоугольника-приемника
nHeight
Высота прямоугольника-приемника
hSrcDC
Дескриптор контекста устройства-источника
xSrc
Координата x в логических единицах верхней левой точки прямоугольника-источника
ySrc
Координата y в логических единицах верхней левой точки прямоугольника-источника
nSrcWidth
Ширина прямоугольника-источника
nSrcHeight
Высота прямоугольника-источника
crTransparent
RGB-цвет изображения-источника, который будет считаться прозрачным для изображения-приемника

Пример

' Поместите на форму два Picturebox
' Назначьте им две картинки
' Постарайтесь, чтобы в первой картинке было много
' белого цвета, которым будет использоваться
' как прозрачный

TransparentBlt Picture1.hdc, 0, 0, _
    Picture1.ScaleWidth, Picture1.ScaleHeight, _
    Picture2.hdc, 0, 0, Picture2.ScaleWidth, _
    Picture2.ScaleHeight, vbWhite

Смотри также

AlphaBlend

Категория

Графика