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