说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在VB中实现位图的透明放置

HTML文档下载 WORD文档下载 PDF文档下载
在VB中实现位图的透明放置
作者:王翠荣 葛光祥
我们在开发一个软件中,通过扫描仪输进了大量实景图片,这些图片是以位图格式存储的,实际需要将这些图片透明放置到多彩色背景上,而在我们所使用的Visual Basic for Windows开发环境中,只能将WMF格式的矢量图(通过Image控件装载)透明放置到多彩色复杂背景图上,对位图只能象照片一样将图片上的每一个点阵信息贴到复杂背景上。本文讨论的问题就是如何将位图透明放置到多色彩背景上,用于实现不规则前景在复杂背景上的动画,并给出了源程序。
首先将图片通过扫描仪输入到计算机,以*.BMP格式存盘,然后利用图象处理软件对扫进的图片进行加工,加工过程中应注意:将来准备放到复杂背景上的信息不能是黑色,不准备放到复杂背景上的信息要过滤掉,一律置成黑色。只有这样才能实现将位图上所关注的形状不规则信息透明放置到多彩复杂背景上,且不覆盖背景。我们主要使用Windows的API函数BITBLT产生此效果。
基本步骤如下:
(1)首先在Forml上创建3个Picture控制,Name属性分别为PicCel(装载前景位图)、Picmatte(存放前景位图的黑白模板)、Bkgrd(存放复杂背景图象),再创建一个命令控制按钮Commondl。在PicCel上装入一幅黑色背景下的彩色位图;
(2)将PicCel上的图象拷贝到Picmatte上,然后在Picmatte上进行工作,即在Picmatte上逐行逐点扫描位图信息,凡是非黑色象素点将其置成白色,这样在Picmatte上产生了PicCel的一个黑白模板,Picmatte上的彩色图象大小和PicCel一样,只是将PicCel上的非黑色信息转换成白色;
(3)PicCel和Picmatte作反相invert运算产生PicCel的反相图象存于PicCel中;
(4)用或运算将Picmatte贴于复杂背景Bkgrd上;
(5)用异或运算将PicCel贴于复杂背景Bkgrd上。
程序清单如下:
1 Const srccopy=&HCC0020
2 Const srcinvert=&H660046
3 Const srcpaint=&HEE0086
4 Sub Command1 Click()
5 black=RGB(0,0,0)
6 white=RGB(255,255,255)
7 position=0’拷贝piccel到picmatte上
8 r%=bitblt(ByVal picmatte.hDC,ByVal 0,ByVal 0,ByVal piccel.width,ByVal piccel.Height,ByVal piccel.hDC,ByVal 0,ByVal 0,ByVal srccopy)
9 For scanline=0 To(piccel.Height-1)
10 Do‘取得picmatte上坐标为(position,scanline)点的颜色
11 currentcolor=getpixel(picmatte.hDC,position,scanline)
12 If currentcolor<>black Then‘如果该点不为黑色,则置为白色
13 retlong=setpixel(picmatte.hDC,position,scanline,white)
14 End If
15 position=position+1
16 Loop While position17 position=0
18 Next scanline ‘创建原位图piccel的反相图象
19 r%=bitblt(ByVal piccel.hDC,ByVal 0,ByVal 0,ByVal piccel.Width,ByVal piccel.Height,ByVal picmatte.hDC,ByVal 0,ByVal 0,srcinvert)
20 r%=bitblt(ByVal bkgrd.hDC,ByVal 10,ByVal 10,ByVal piccel.Width-1,ByVal piccel.Height-1,ByVal picmatte.hDC,ByVal 0,ByVal 0,srcpaint)
21 r%=bitblt(ByVal bkgrd.hDC,ByVal 10,ByVal 10,ByVal piccel.Width-1,ByVal piccel.Height-1,ByVal piccel.hDC,ByVal 0,ByVal 0,ByVal srcinvert)
22 End Sub
23 Sub Command2-Click()
24 End
25 End Sub
26 Sub Form-Load()
27 picmatte.Width=piccel.Width
28 picmatte.Height=piccel.Height
29 End Sub
“微信公众平台优秀开发商”征集评选活动正式启动 移动数据库新疆界:开源、Swift、可穿戴... Chromebook侵蚀微软商用PC市场,成绩喜人 2014微信开发者大会议程公布 8月1日前购票8折优惠并赠书 四火的唠叨:也谈谈全栈工程师 图形化与集成趋势 协同软件致远发新品V5.1 跨平台开发如何事半功倍 Xamarin推出免费培训 《近匠》上海庆科:海尔智能家居背后的云方案 轻松DIY智能硬件,开源电子原型平台Hippo-ADK 所见即所得!基于Polymer的设计工具Mobile UI Elements 好的产品经理是怎样炼成的? 统一架构、统一运维:UnitedStack发布UOS2.0 把轻应用带进汽车——宝马、百度编程马拉松大赛启动 “钢铁侠”Insteon的逆袭:声控智能家居新时代 游戏云纪元 第二届游戏运营技术论坛即将召开 Bitly:构建月处理60亿点击的分布式系统 重塑微软:Satya Nadella开启整合之路 推送工具个推完成B轮数千万美金融资 娱乐行业数据化 ABD爱梦娱乐发布大数据引擎产品 增强现实:10大AR应用窥探移动未来 LBS的硬件创新:高德LBS智能硬件编程马拉松圆满闭幕 2014优秀微信开发商评选上线 首批旅游汽车电商房产等行业应用出炉(表) 让梦想照进现实——宝马百度编程马拉松闭幕 IXDC大会:移动交互设计精髓——用户体验 想辨析“马航”等事件真伪,有很多技术和工具可以使用 两倍于IBM的基础设施投资,Google大力发展云服务 听云平台发布移动应用性能黑洞报告 微信开发者大会陶瑾:如何玩转微信支付功能的原理和开发 560亿PV+7.3亿用户,Reddit是如何做到的? 打造安全界的希波克拉底誓言文化 极客的春天来了! Mozilla COO宫力:老牌操作系统如何助力新一代智能电视 [转贴]网络版权问题 **冗余醒目**《如何在输入的时候减小冗余》**冗余醒目** 用purify测试过的release版本怎么在别人的计算机上运行有问题? 如果用asp连接mysql,请问连接字符串是什么? 我要做一个在小型的对等网上运行的数据库软件,用什么方法好点? 如果用asp连接mysql,请问连接字符串是什么? 请高手帮我解答一个关于在ASP中调用存储过程的问题? 怎么输入繁体字? 足彩-03010期:1033031110310 请教高手在DELPHI里怎样实现把一个文件存储到ORACLE上, 然后又如何调出来使用?? 我快疯了救救我!!!!!!!!!! 我为什么要做个刁民? 屏幕上显示绘多条曲线,要对每条曲线单独进行操作如何实现? 怎样避开程序对softice和trw的检查 想学ACCP不知道社会的认可度? 怎样使用windowsxp/2000的修复程序? C:\winnt\下有一个hh.exe文件,有什么作用? 这首诗我觉得用在程序员身上也很合适 在WebSnap中如何实现gride的隔行显示不同颜色,就象我们现在看到的一样?? 关于《C++ Primer plus(中文版)第四版〉》,大家发表一下看法好吗。 中文文件 颜色代码转换的问题大家帮忙呀.. 程序编译问题 问一个可笑的问题。希望能得到回复 那位用过TfcShapeBtn控件? 急!从NT4到W2000后,为何ASP出错? combustion? 100分有人答了吧 WHERE TO DOWNLOAD??? c#/web,有个约一万行的参数表需用于校验页面录入的数据 帮帮忙啊,急啊 谁有dhtml的中文帮助? 如何使窗口全屏化,即不覆盖Toplevel窗口(winamp),又能覆盖任务栏? 请教各位高手,怎样将网卡的MAC地址与IP地址绑定起来,让用户不能改变? 我自己构造了一个HTTP请求头想要下载swf,但是服务器不接受请求。各位大哥帮忙看一下 简单问题 关于dll的基本问题 求求各位了,急啊(原程序问题) 这段程序问题出在哪儿? 关于防火墙编码的问题500? 明天签约,来问问工资开多少 整一年了 发个帖子吧 win98关机死机具体问题怎样既决????? 既然有了jbuilder,怎么还有人在弄什么jdk 关于正则表达式的问题("(\{)(\r\n)*(.*)(\})"),精通者请进 CreateProcess函数的应用示例 怎样才能克服电脑带来的噪音!!!,困霍很久 散分拉!!! 数据发送的实现,急用,谢谢,一定给分。 写过VB程序的朋友可以进来谈谈。 请问如何在php内刷新页面 有一个重7N的铝球,当它浸没在水中时受到多大的浮力? 两个皮带转动轮,小轮直径是28厘米,大轮直径是70厘米.如果小轮每分钟转60转,大轮每分钟转多少转? 零度空间是什么 多元梦境是什么意思 有一个人问男孩你家兄弟姐妹有几个?男孩回答说我的兄弟和我的姐妹一样多,然后这个人又问姐姐,姐姐回答说,我的兄弟数是姐妹的2倍.问他们家有多少个兄弟姐妹. 零度空间是啥?;;;;;;;;;;;;;;;;;; 下午做了个梦,梦见突然金光闪闪,然后出现一本经书,金光闪闪的,然后看到一段字,好像是皈依三宝的意思 我就念了,念了后就醒来了,醒来后精神好的不得了我学佛差不多一个月了吧,期间做梦 处处是创造之地,天天是创造之时,人人是创造之人是谁说的?求大神帮助 关于不怕困难的成语小学水品的就好了 我们国家的风洞为什么会选择建在大山深处 一个脑力急转弯题,有一座解放军修的桥还有重兵把守~他们有个规矩`就是不让毒眼龙、罗锅还有瘸子过`有一天正好这三个人来到桥边`后来他们想了一个办法就过去了1`问想的什么办法? 分子的动能与物体的动能物体的运动是物体中所有分子的定向移动,以地面为参照系,整体运动,必将会影响到分子运动速度,因为分子运动的无规则性,使有些分子的速度增大,有些分子的速度减 AI中如何把文字填充图形? 脑力急转弯一个农民到一块指定的的农田,去的时候要一个时辰.回来是时候却花了两个半不时辰问:'为什么,在一样的路程情况下,怎么用的时辰却不一样呢?" 物体内部所有分子——的动能和——的总和,叫做物体的------能. ai里面怎么去掉文字的填充效果?就是在illustrator中,先用文字工具输入一些字,怎么把里面的填充去掉 植物吸水课本说,蒸腾作用产生的蒸腾拉力是植物吸水的主要动力,而书上又说,植物是靠渗透吸水的,而半透膜的浓度差是渗透的必要条件,那么请问,水到底是靠蒸腾拉力还是浓度差进入植物体 物体的分子动能与物体的质量有关吗?物体的分子动能与质量有关吗?物体的分子动能和分子势能分别和哪些因素有关? 若不计气体分子间相互作用,一定质量气体温度升高压强降低,一定从外界吸收能量.请问是对的么 你们好~谁知道荒凉的近义词和反义词是什么?谁知道, 1.从三棱镜对白光产生的色散现象可以推知,当各种色光以相同的入射角从玻璃斜射入空气中时,折射角最大的是A.红色光B.绿色光C.紫色光D.蓝色光我觉着是C,想知道为什么?2.等比例的红光与绿 梦幻的意思(要精确点, 生石灰滴加稀盐酸是否会产生气泡?速回速采 老师你好;想问一下最后一段时间文章该如何提高,尤其是大题? 氯化氢分子中存在什么化学键? “处处是创造之地天天是创造之世人人是创造之人”谁的名言 写反义词的词语 如 七上八下危在( )( ) 自( )至( ) 无足( )( )( )( )顿挫 半( )半( ) ( )逸( )劳三( )两( ) 水( )石( ) CDR里如何将一整段文字进行文字适合路径像扇形排列,而不是沿着扇形边排列,是一个个拱形排下来 病毒能被人类灭绝吗?过去,我的同学得了白血病,没钱治,结果死了,我很难过.事隔八年的现在,忽然有一天,我梦见一个梦,目前地球上的病毒全数被人类所灭绝,并对可能产生或外来的类病毒生命 四字词语第2字和第4字是反义词,如:七上八下要4个 CDR中 如何画拱形并填上颜色?就是可以做横幅的那种形状! 小明、小勇与两位小同学小英、小娟去给军属运蜂窝煤,每人运的块数不同,但每人每次运的块数与他自己运的次数正好相等,小明比小勇多运15块,小英比小娟也多运15块,问共搬了多少块蜂窝煤? 近仪词 重要( ) 准确( ) 反义词 晴朗( ) 马虎( ) 紧张( ) 犹豫( ) 低落( )请帮我答一下. CDR中画好的矩形框把文字遮住了怎么办?矩形框填充了颜色的.怎样把文字出现在矩形框上面? 小英比小娟重5千克,小娟比小英轻7份1,小娟的体重有多少千克? 七上八下(反义词)类似的词语 声音在常温的空气中传播2分钟的距离 杠杆中,什么是费距离?省距离?什么是动力臂?阻力臂? 2011年4月7日,我国乃至世界上最大、最先进的内河豪华游轮“总统旗舰”号如图在重庆港开航.这艘五星级万吨游轮于8日清晨起航,沿长江三峡国际黄金旅游线顺水而下,直至到达三峡工程所在 大( )大( ),填反义词 不怕困难的成语至少四个 八下 物理 填空题 荨麻疹 如何治疗 大的反义词 杠杆原理中,阻力臂的抬起距离和动力臂下压距离有什么关系? 如何治疗湿疹 "处处是创造之地,天天是创造之时,人人是创造之人"出自哪里? 杠杆上作用力的方向和力的大小有什么关系 firework里怎么样设置文字变成拱形的 男、女生分别排队,女生有36人,男生有48人,要使每排的人数相同,每排最多有多少人?这时男、女生分别有多少排? 高分求!辩论题不是人人都可以科技创新没有一个有用的 flash中文字的变成拱形怎么变 处处是创造之地,天天是创造之时,人人是创造之人是谁说的? 辩论赛(发明创造并非人人可为)自我介绍要幽默点的例如三句半,最好包含辩题,明天8点就比赛, 在CorelDRAW里,怎么把文字变成拱形?怎么画一个五角星? 一根皮带带动两个轮子,大轮直径30厘米,小轮直径10厘米;大轮每分钟转100圈,小轮每分钟转多少圈?拜托 辩论赛的一个问题,如果所有人的青春都用来享受,那么我们的国家和社会要怎么办? 氢氧化铝、碳酸氢钠,碳酸钙三种胃药中,根据溶解度知识推测药效最快的是哪个? 一根皮带带动两个轮子,大伦直径30,小轮直径10,大轮每分转100圈,小轮每分转几圈.注意,是小轮 阻止的意思是什么? 西班牙称遭大规模监控难以接受 促美公尼泊尔政客涉嫌谋杀同党候选人 两印度尼泊尔政客涉嫌谋杀同党候选人 两印度叙利亚问题联合特使卜拉希米抵达大马士浙江一盗销柴油团伙五分钟能使满箱柴油拆东墙补西墙 浙江一男子非法集资14李克强会见德国友人多国对美国监听表达不满要求解释 研究突尼斯政治纷争致市政荒废 街头成“垃俄官员说中国是俄旅游领域主要战略伙伴四川南充男子驾中巴强冲交警队和法院 俄官员说中国是俄旅游领域主要战略伙伴张高丽会见美国能源部长莫尼兹外交部:国际社会应尽早制定网络空间行赵洪祝会见尼泊尔客人范长龙会见巴基斯坦陆军参谋长华媒:揭秘核潜艇部队剑有所指 新海军中国核潜艇部队42年来首次揭秘 打击揭牌首月 上海自贸试验区登记企业同比21世纪理事会将就“读懂中国”展开讨浙台经贸合作平台发展规划发布 打造超济源重拳治污初见成效上半年优良天数1研究生向境外卖情报获利 20余万私企老板欲建博物馆遭诈骗 花70余万缺牙 10年,种牙节“长”新牙豫企“闯”欧洲将有快速通道河南许昌发现一处大型仰韶文化遗址2013年初春,百花里防暑不松懈,莫忙贴秋膘Jeep全路况智能体验日邀您参与青海青,黄河黄,一碗凉皮长又长因倒垃圾问题起争执女工将男子牙齿撞落政审不查“七大姑八大姨大河秋季车展阵容相当强大成都火锅“香天下”鲜香开涮NBA更精彩本科三批125所院校征集志愿4843郑州轮番上演太极拳、健身操大赛康复训练,越早越好六种腹痛会要命爱车“呛水”后保险哪些不赔?15天后,丹江水有望解渴平顶山
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘