vb如何让多张透明图片叠加
如何让几张透明的图片叠加起来。如一张是图片是两个横线,另一张是两条竖线如何让一个控件如Picture或Image显示这两个图片叠加的效果,即控件显示为两横加两两竖。如何保...
如何让几张透明的图片叠加起来。
如一张是图片是两个横线,另一张是两条竖线
如何让一个控件如Picture或Image显示这两个图片叠加的效果,即控件显示为两横加两两竖。如何保存叠加后的图片?
最好能够有一个简单例子 展开
如一张是图片是两个横线,另一张是两条竖线
如何让一个控件如Picture或Image显示这两个图片叠加的效果,即控件显示为两横加两两竖。如何保存叠加后的图片?
最好能够有一个简单例子 展开
2个回答
展开全部
首先,图片要做成透明的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
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询