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

如何让几张透明的图片叠加起来。如一张是图片是两个横线,另一张是两条竖线如何让一个控件如Picture或Image显示这两个图片叠加的效果,即控件显示为两横加两两竖。如何保... 如何让几张透明的图片叠加起来。
如一张是图片是两个横线,另一张是两条竖线
如何让一个控件如Picture或Image显示这两个图片叠加的效果,即控件显示为两横加两两竖。如何保存叠加后的图片?
最好能够有一个简单例子
展开
 我来答
网海1书生
科技发烧友

推荐于2017-09-01 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26225

向TA提问 私信TA
展开全部

首先,图片要做成透明的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
百度网友96ffcf7
2015-04-06 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118720
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
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
追问

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式