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

在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
新创社交平台Tsu 5周註冊用户破百万秘訣 Google Play:助力中国开发者的海外梦想 JPHP——一款基于JVM的新PHP编译器 舌尖上的CTO——小杨生煎的持续交付 《近匠》滴答清单,跨平台云同步的任务管理工具 DJI与优酷土豆战略合作:提升UGC价值,先内容再营销 Android性能优化典范(二) 从三大运营商联手 看电视游戏背后的现状 【工具推荐】Vert.x——非阻塞、高并发的编程开发框架 Google搜索在确定结果排名时会将网站的移动设备适用性作为考量因素 W3C首次发布SVG标记、SVG轮廓标准工作草案 第七届中国云计算大会 | 首批主会演讲嘉宾和议题公布(表) 安沃传媒创始人王旭东:开发者从移动广告获利的黄金时代已经来临 【舌尖上的CTO】砂锅馄饨的交付件 微软新Visual Studio Code开发工具支持Mac和Linux 科技新创公司想做大?从CNN记者跳槽Snapchat谈起 Java二十年特别奉献:晒博文、赢大奖! 《近匠》华为创新总监蔡绪鹏:智能手表的三大感知与未解难题 从Samurai-Native框架开发谈React Native Qualcomm公司李申:Vuforia打破AR设备界线 物与物的互通:解析Thread、AllJoyn、OIC、Bonjour的特点 《天龙八部3D》中Unity使用介绍 微软推出ManifoldJS,Web App自动转成各平台本地App 专访庄晓丹:Java程序员眼中的Clojure 全面解析ECMAScript 6模块系统 七牛技术总监陈超:记Spark Summit China 2015 Project Tungsten:让Spark将硬件性能压榨到极限 Android手表在中国这样落地 ART运行时Foreground GC和Background GC切换过程分析 开创未来的关键:是什么造就了硅谷?(上) 微软前员工:开发Apple Watch应用的27个技巧 vc++要交作业了,谁能帮一下忙啊 关于CSS!! 高程涨价了~~~~~~今天报名的我,身上只有111块~~~`结果只有1块了,坐车回家,身无分文,5555555 JBuilder7.0在Linux下的中文支持? 高分求救(急),在线等,请高手帮忙 一次最多只能给100分。 Apache2.0.46与tomcat-4.1.24整合问题 各位来看一下我写的这点东西,能不能找到个工作呀 比较一下:C++primer The C++ programming language 和 thinking in C++。不要只说那本好,只看过一本也近来说说看法!! 高手来帮助我阿 浏览器隐藏问题! 那位给我一个用 C# 操控注册表的详细例子或说明…… 已经辞掉了版主职务了,一个星期没有上网,这回散点分给大家. 有没有变量可以存储任何类型的图片对象? Exchange 2000 Lotus connector 大侠帮帮我! XP内存消耗问题 为什么SQL存储过程在SQL QUERY ANALYZY可以顺利执行完一个从1到1500的循环,而在PB7.0中调用时却... 如何设置按钮控制程序运行,具体看贴 网页图片显示问题(急,帮帮忙哦,在线等!) 请问一个关于visual studio.net的问题 在线求解,很急,谢谢 程序是SQL Server2000+Delphi6的三层结构,打包问题,大侠请帮忙!(200) ¥¥火星人都不会的问题!巨难!欢迎各位! 这里有没有兄弟写过“万邦“图形采集(winbond)的应用程序没有 关于输入法 为什么ASP页面关闭后,session中的值还存在呢? 到底有没有官方出的VS6.0中文版?? 请问怎样给一个buffer中所有数据清0 test 数据采集问题,高手指教!!!急 为何我修改了打印纸尺寸但不起作用? 请问大家现在MCSE的题目变了没有啊? 共同学习 高人指点一下 DataGrid如何实现如下功能? 如何在图片框中按鼠标时知道当前鼠标在图片框中的坐标?谢谢! 【骂人】destroy(只想灌的爽)进来 散分~~~~前5名!谢~ 请教两个问题,专家请进! 请问在什么地方可以找的计算机方面的中英文对照翻译? Dll向主窗口发送自定义消息? 如何用MoveWindow()和SetWindowPos()来改变窗口大小(最好有个例子)! script参数怎样传输到applet中 怎样把jpg转换位BMP,在线急等 我要开放mssql的访问,在防火墙中是不是只要开放1433端口就可以了? 外面买的2000安装盘有的里面只有一个程序,叫什么ghost,好象运行它后就可以非常快的安装2000,请问这个ghost是用哪个软件做的? 系统初始化把所有数据库里面的内容删除,保留表的结构,这是怎么实现的? 如何将AnsiString转换成LPCWSTR? 我想请问一下,当panel显示时如果下面有<select >控件是,这个控件不被盖住,结果好象panel破了下一样,请问题怎么办!谢谢 如何把这个程序转换成java程序,我够菜的:( 求f(x)的最大值g(a)什么意思 西游记 取到经书后他们各得到什么称号? 二次函数y=2x^2的图像的对称轴是? f(x), 光子是假想的吗?是否存在都说光子是没有质量的,一想确实合理,毕竟w=Fs,钥匙光子有质量,那随便开个灯动能都是很大的,但是既然这样又为什么要引入这个概念呢 函数y=cos(2x+π/3)图像的对称轴可能是?A.x=-π/6 B.x=-π/12 C.x=π/6 D.x=π/12 左边一个虫右边一个宾的是什么字? 光子是怎样存在的?是一种介子吗? 不同组织中的氢原子在1.5T的磁共振机中进动频率是否相同?人体不同组织中的氢原子在1.5T磁共振机器中静止场强下进动频率是否相同?我的意思是说:我们磁共振检查时是研究氢原子,那么 磁感线垂直线圈,磁通量最大时,感应强度为什么等于0磁通量为0时,感应强度为何又最大了 lucy and lily have opposite views and i___ .lucy likes staying in and reading ,but lily likes going out and meeting people. 请问司马迁跟司马光是什么关系 什么是套头和标头 等比数列数列中s3=16 s6=14 求s4为什么s3 比s6 等比数列,我算下来q大于0啊谁再给推下 USB数据线上的小圆柱体的工作原理? D50的标头和套头是同一个吗?为什么有的说是18-55的有的说是50/1.8的?购买的时候价格有区别吗?哪一个更好呢?我拍人像和风景为主 电机的功率2200w-S3 USB连接线上的圆柱体是用来干吗的?貌似很有用的样子 18-55套头和50标头可以配遮光罩吗? 光子到底是不是实体?高中物理书上提到了康普顿效应.“光子有动量,和实物粒子一样”这是书上的原话.它暗示了光子有质量吗?(p = m*v)但是《时间简史》上说"as an object approaches the speed of li 怎么有些键盘连接线上有一圆柱体的东西? 磁场中某点的磁感应强度的方向就是该点的什么方向也是该点磁力线的什么方向在空中 带宾的字旁有哪些 几题高一数学竞赛的平面几何题1 在RT△ABC的斜边BC上取一点D,使△ABD和△ACD的内切圆相等,证明:S △ABC=AD^2.2 设l使经过△ABC的顶点C且与AB平行的一条直线.∠A的平分线与BC边交于D,与l交于E,∠B 中级晶族的晶体上,若有二次对称轴与高次对称轴并存,一定是彼此垂直而不能斜交,为什么? 一个正n边形,求共有几条对称轴?急答的好,我加20悬赏分!务必认真! 一道平面几何题高一四棱锥P-ABCD,四边形ABCD是角DAB为60°的菱形,侧面PAD为正三角形,其所在平面垂直底面ABCD,G是AD边中点1.求证BG垂直面PAD2.求证AD垂直PB3.若E为BC边中点,F为PC边中点.求证平面DEF垂 浮力F=G,F=Pgv分别什么时候用 正N边形有多少条对称轴 光子真是存在吗 电磁感应 双金属棒问题L不一样长的导轨 B不变 然后前面的棒给个速度 然后用动量定理 ft=mv0-0 这是其中一个 但是F不是恒力 我们需要求平均I 那么平均E怎么求? 一个正n边形有几条对称轴? 高一平面几何问题两个命题其中有一个是错的错的请举出反例1 若平面内不存在与直线a垂直的直线,那么a平行于平面2 若一条直线与两个平面的交线平行,则这条直线至少和这两个平面中的一 玻利维亚天空之境旅行去一次要花费多少?我现在正努力攒钱呢,真的好想去 安然长逝的意思 一道高一平面几何题如图,AB是圆O的直径,C是圆周上不同于A,B的任意一点,PA⊥平面ABC,则四面体P-ABC的四个面中,直角三角形的个数有( )A、4个 B、3个 C、2个 D、1个 什么时候F浮=G物=G排液? 核弹暴-炸时的蘑菇云是怎样形成的拜托各位大神是所有物体暴-炸(只要能量足够)都能形成的吗?原-子弹和氢-弹暴炸的蘑菇云有什么不同?为什么会产生不同? 辨析:中国革命道路理论对马克思中国化具有方法论意义. 谁知道从中国大陆去南美玻利维亚的天空之境的全程费用大概是多少? 什么是"爱"给我举例子说明? 辨析:只要有革命批判精神和创新意识,就一定能推动社会的进步和发展. 我要去玻利维亚的天空之镜!请问怎么去!我不想自费去,我在深圳,请问有旅行社吗?还有,如果非得自费去的话,签证怎么办啊!.好的话再给五十! ★“小鹿乱撞”是何意?是用来形容什么的?举几个例子说明!★♥ ♥ ♥ ♥ ♥ 电源适配器尾部 有一个大粗圆柱体是干什么用的 两个金属棒电磁感应问题在某平行导轨间有两个金属棒,一个静止,相隔一定距离,导轨光滑。求最终两个金属棒拉开的最大距离。 致女儿的信故事为什么把男女爱情放在五十多年表现说明什么 圆柱体的粗是什么 玻利维亚天空之境怎么样 月字旁加个宾是什么字? 如果两个小圆柱体可以拼成一个大圆柱体,那么这两个小圆柱体的底面积一定相等,高也一定相等这句话对吗? 哪位旅游达人去过玻利维亚的乌尤尼湖,就是天空之境请讲一讲行程等各方面,如签证、机票(价格和到哪里转机?是巴西还是阿根廷)、线路是先到拉巴斯还是什么、住宿、最佳季节(要去的 日字旁一个宾有这个字么 某物质的化学式为HnMO2n,其式量是A,则M的相对原子质量是(),M的化合价(),当M的化合价不变时,其氧化其氧化物的化学式为什么 G+G/G+F/G+F+F/都是什么意思 宾字加个王字旁怎么打那个宾字五笔怎么打? 一道物理竞赛题答对追加分匀质杆AB直立于光滑水平面上,稍受扰动杆将倾倒,A断在水平面滑动,求B点的轨迹,设杆长为2l.如图 f(x)≡g(x)含义两函数中间符号表示什么意思,若该符号上与不等号相同, 西游记中经书落水后在哪里将经书晒干 第五题3,最好陪图和对称轴 美国得州一男子五地疯狂射杀 致其母在利比亚枪手打劫央行5000万美元日防相称“中国危及和平” 中日关系陷美国十年逾百起医院枪击事件 FBI探利比亚枪手狂劫五千万美元演员有怪癖 只爱演死尸纽约手机可接收紧急警报捐肾牵良缘 悲剧变喜剧四条眼镜蛇盘绕 “守护”婴儿午睡印度高官建议用阉割强奸犯方法遏制强奸世行营商环境排名遭质疑公务报销作假引发公众愤慨 加拿大政府奥巴马考虑停止窃听盟国领导人泰国前总理阿披实被控谋杀英国报纸窃听丑闻开庭审理普京称苏联共青团不仅是政治还是友谊和美主持人就\"杀光中国人\"言论道歉美国承诺停止监听盟国美媒:光有“屌丝”与“土豪”社会无法港媒:防范儿童性侵别忘了农村蒙古总统到参谒朝鲜锦绣山太阳宫车在停车场被划车主起诉获赔偿新能源车有望减免停车费过路费两骗子冒充官员演“双簧戏”天暖滑野冰游客被劝离三校艺考内地法院改革意见发布:领导说情条子应局长搬回超标房侥幸敷衍丢乌纱车祸赔偿没谈拢司机动刀被判刑■彩票开奖公告男子低价售出原卡再盗刷骗钱旅游局:旅游厕所如不达标 A级景区评10女性获评三八红旗手迪拜赛-穆雷爆冷负18岁小将 费德勒湖人结束客场连败“蔡头后浪队”争主打说闻解字:产“21”误作“IS” 气球惹祸北京晨报网何三坡和他的诗歌黄鹤楼的商业史茅台集团副总经理房国兴被移送司法
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘