求助VB6.0高手,谁能帮助做一个透明的Picture控件。在线等,急用。谢谢大家了

在picture中。我用的是pset画图,还用到了取像素点函数。如果觉得分低的话,做好后还可以在加分... 在picture中。我用的是pset画图,还用到了取像素点函数。如果觉得分低的话,做好后还可以在加分 展开
 我来答
money0_04c351c2
2012-07-30 · TA获得超过4142个赞
知道大有可为答主
回答量:5505
采纳率:49%
帮助的人:1602万
展开全部
这个其实比较麻烦。按你这说法真正的难点在于两张图片的拼合。
取点之类的问题很容易解决,多留一个PicBox就是了,隐藏起来,只有画的点。

拼合有两个办法:
1、 用 BitBlt 实现。但是你得实时的生成一个掩码图(就是需要覆盖的地方涂黑,需要透过的留白)。
Private Declare Function BitBlt Lib "gdi32" ( 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 dwRop AsLong ) AsLong
PrivateSub Command1_Click ( )
BitBlt 目标图.hDC, ( 目标图.Width / 2 - 掩码图.Width / 2 ) / 15,0, 掩码图.Width / 15, 掩码图.Height / 15, 掩码图.hDC, 0,0, vbSrcAnd
BitBlt 目标图.hDC, ( 目标图.Width / 2 - 掩码图.Width / 2 ) / 15,0, 掩码图.Width / 15, 掩码图.Height / 15, 源图.hDC, 0,0, vbSrcInvert
EndSub

2、用 AlphaBlend 和 TransparentBlt 解决。
这个也挺麻烦,篇幅较长,你自己百度一下。这里给你留下函数声明。
Private Declare Function AlphaBlend Lib "msimg32.dll" (ByVal hdc As Long, ByVal nXoriginDest As Long, _
ByVal nYOriginDest As Long, ByVal nWidthDest As Long, _
ByVal nHeghtdest As Long, ByVal hdcSrc As Long, _
ByVal nXOriginSrc As Long, ByVal nYOriginSrc As Long, _
ByVal nWidthSrc As Long, ByVal nHeightSrc As Long, _
ByVal blendFunction As BLENDFUNCT) As Long

Private Declare Function TransparentBlt Lib "msimg32.dll" _
(ByVal hdcDest AsLong, _
ByVal nXOriginDest AsLong, _
ByVal nYOriginDest AsLong, _
ByVal nWidthDest AsLong, _
ByVal nHeightDest AsLong, _
ByVal hdcSrc AsLong, _
ByVal nXOriginSrc AsLong, _
ByVal nYOriginSrc AsLong, _
ByVal nWidthSrc AsLong, _
ByVal nHeightSrc AsLong, _
ByVal crTransparent AsLong _
) AsLong
更多追问追答
追问
取点之类的问题很容易解决,多留一个PicBox就是了,隐藏起来,只有画的点。

这个问题不太明白,能够详细讲解一下啊?
追答
不好理解吗? 你专门留一个Pic,隐藏的,绘图时在显示Pic上画一个,在这个隐藏Pic上也画一个。
显示Pic随便怎么处理,这个专门用来取点。 OK了。
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
ztw1122
2012-07-29 · TA获得超过1088个赞
知道小有建树答主
回答量:2382
采纳率:80%
帮助的人:944万
展开全部
透明 显示窗体?
更多追问追答
追问
不是,有两个picture,上层透明是为了显示下层picture中的图片,上层Picture还要画图呢
追答
都画一个里不就解决了么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xieqianxq1995
2012-07-29 · TA获得超过156个赞
知道答主
回答量:165
采纳率:0%
帮助的人:154万
展开全部
窗体可以透明
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友796a213
2012-07-30 · 超过27用户采纳过TA的回答
知道答主
回答量:238
采纳率:0%
帮助的人:100万
展开全部
还用到了
追问
啥意思啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式