vb如何让多张透明图片叠加

如何让几张透明的图片叠加起来。
如一张是图片是两个横线,另一张是两条竖线
如何让一个控件如Picture或Image显示这两个图片叠加的效果,即控件显示为两横加两两竖。如何保存叠加后的图片?
最好能够有一个简单例子

首先,图片要做成透明的GIF图,VB本身只支持这种格式的透明图片。

其次,要用PictureBox控件,Image控件无法实现。

代码:

Private Sub Command1_Click()
Picture1.AutoRedraw = True
Picture1.PaintPicture LoadPicture("f:\tmp\1.gif"), 0, 0, , , , , , , vbSrcAnd '读取第一张图
Picture1.PaintPicture LoadPicture("f:\tmp\2.gif"), 0, 0, , , , , , , vbSrcAnd '读取第二张图
SavePicture Picture1.Image, "f:\tmp\3.bmp"   '保存合并后的图片
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-06
Private Declare Function AlphaBlend Lib "msimg32.dll" (ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal BLENDFUNCT As Long) As Long

Private Sub Command1_Click()
AlphaBlend Picture1.hdc, 0, 0, 100, 100, Picture2.hdc, 0, 0, 100, 100, 128 * &H10000
End Sub

AlphaBlend 就是实现两幅图片的alpha混合

透明度 参数 BLENDFUNCT 使用时 取值为 透明度(0-255)*&H10000追问

结果还是没有用啊。能否直接上传个附件