Declare Function AlphaBlend Lib "msimg32" ( _ ByVal hDestDC 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 widthSrc As Long, _ ByVal heightSrc As Long, _ ByVal BLENDFUNCTION As Long) As Boolean
Функция AlphaBlend позволяет выводить картинку с прозрачными или полупрозрачным изображением.
В успешном случае функция возвращает True, в противном случае возвращается False (используйте GetLastError для получения кода ошибки)
' Поместите на форму два PictureBox ' Поместите туда ваши картинки Dim BF As BLENDFUNCTION, lBF As Long ' Установим графический режим Picture1.AutoRedraw = True Picture2.AutoRedraw = True ' функции API используют пикселы Picture1.ScaleMode = vbPixels Picture2.ScaleMode = vbPixels ' Устанавливаем параметры With BF .BlendOp = AC_SRC_OVER .BlendFlags = 0 .SourceConstantAlpha = 128 .AlphaFormat = 0 End With ' копируем структуру BLENDFUNCTION в Long CopyMemory lBF, BF, 4 ' Накладываем одну картинку на другую AlphaBlend Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, lBF