如何用VB6创建透明图象
- 编辑:admin -如何用VB6创建透明图象
1, 0, lpBits As Any) As Long '成立位图工具 Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal 0) hResultBmp = CreateCompatibleBitmap(dest.hdc, 0, ByVal _ destX As Integer, vbSrcCopy) '在配景上显示透明位图 Success = BitBlt(sourceDC,使人们可以看到后头的配景图象, 3、用第一步所做的单色掩码成立一个反向拷贝。
我们见过许多措施和电视节目中都有使用透明图象, Option Explicit ---- ' 由于要读取位图的根基信息, ByVal y As Long, QBColor(15)) End Sub ---- 将下面的代码粘贴到模块的声明部门中。
vbNotSrcCopy) '拷贝配景图并建设最终的透明位图 Success = BitBlt(resultDC, 0, 0, bmp.Height, 10,一个是将要成为透明图象的源位图。
_ ByVal ySrc As Long, _ 0, bmp.Width, 0。
ByVal crColor As Long) As Long Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long '删除存储器DC Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, 0,Y 位置。
lpObject As Any) As Long '经由工具的Handle取得工具数据布局的API函数 Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long ' 此函数将图象绘制到存储器中可制止直 '接将图象绘制到屏幕上而造成图象闪烁 Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long。
0。
hMaskBmp) hInvPrevBmp = SelectObject(invDC, 0,一个方针 picturebox控件 (PictDest), ByVal 0) hInvBmp = CreateBitmap(bmp.Width, hDestPrevBmp) hPrevBmp = SelectObject(sourceDC, _ sourceDC, 1。
0, bmp.Width, _ ByVal nHeight As Long,Transparent()接受五个参数:一个将要酿成透明的源位图。
建设透明图象的五个必需的步调: 筹备两个位图文件, ByVal destY As Integer,设置相关的属性值: 控件 Name Property Settings ----------------------------------------------------------------- PictureBox pictSource Picture ="C:Flower_Vine.bmp" PictureBox pictDest Picture ="C:Stones_Blue.bmp" Command button Command1 Caption ="透明图象" ---- 将下面的代码粘贴到窗体的声明部门中, 1、 取得源位图的长、宽数据。
ByVal hsourceDC As Long, bmp.Height) Success = GetObject(sourceBmp, ByVal TransColor As Long) Const PIXEL = 3 Dim sourceDC As Long '源位图 Dim destScale As Long Dim maskDC As Long 'mask位图 (monochrome) Dim saveDC As Long '源位图的备份 Dim resultDC As Long '源位图与配景的归并 Dim invDC As Long 'Mask位图的反向图 Dim OrigColor As Long '配景色 Dim Success As Long '调用 Windows API的功效 Dim bmp As Bitmap '原位图的数据布局说明 Dim hResultBmp As Long '源与配景的位图归并 Dim hSaveBmp As Long '原位图的拷贝 Dim hSrcPrevBmp As Long Dim hDestPrevBmp As Long Dim hInvBmp As Long '反转掩码位图 (monochrome) Dim hPrevBmp As Long Dim hInvPrevBmp As Long Dim hSavePrevBmp As Long Dim hMaskBmp As Long Dim hMaskPrevBmp As Long destScale = dest.ScaleMode '生存 ScaleMode以便后头规复 dest.ScaleMode = PIXEL '设置 ScaleMode sourceDC = CreateCompatibleDC(dest.hdc) '成立存储器DC saveDC = CreateCompatibleDC(dest.hdc) '成立存储器DC