利用VB5.0实现魔术棒式复制图象.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2001年6Jj ,讳吁电{呔(自然科学版) Jun.2001 第18卷第2期 Journal Teachers Science Edition】 VoJ.18,No.2 ofGuangxlCollege(Natural 文章编号:1002—8743(2001)02—0108—03 利用VB5.0实现魔术棒式复制图象 唐宜欣1 唐正欣2 摘要:该文介绍了复制透明位图的一种实现方法,并给出r一个示倒源程序。 关键词:透明佗图;位操作;屏蔽板;复制图象;图象缩放 中图分类号:’IP31l56文献标识码:A 很多绘图软件中都有复制图象的功能,通过图象复制,可以非常方便地获取事先设置的图象。如 金山公司的金山画王(一个为儿童开发的绘画软件),其中的魔术棒就是如此。所谓魔术棒,就是先 在右边样本框中提供几种图象(金山画王中有4种),例如蝴蝶、水泡、弹壳、花草,每一种代表同 类图象的若干个。使用时,若要放大复制,可先移动滑块调节放大图象的比例(注意,无论怎么凋节 滑块位置,右边样本框中的图象大小是不变的),再用鼠标选取其中喜欢的一个图象比如蝴蝶,然后 将鼠标移到画纸上,同时鼠标指针变成魔术棒形状,在需要贴罔的位置处按下鼠标,这时选中的这个 蝴蝶就贴在了画纸l,再按鼠标,又贴上一个,不过这次所得蝴蝶与前一次的不一样,否则就不算是 魔术棒了。如果不重新选取图象,可以连续贴上七八个不同样的蝴蝶。小孩子一边玩,一边喊:变、 变、变,高兴得手舞足蹈。 如果在自己设计的软件中加上这种功能,一定能让自 已的软件增色不少,经过试验,笔者在VB50中实现了 这一功能,右图是程序运行时的一个画面。所附程序已在 P166,Win98,VB5.0下运行通过。下面介绍笔者利用 VB5 0实现魔术棒式复制图象的方法。 1透明位图的实现原理 首先要准备好用到的全部图象。因本文主要是说明实 现的方法,因此我只采用了两组源图。源图中的每一种图 象都要准备两套,…套用于正式贴图,一套用作屏蔽板。 图1 位图在保存时其形状都是矩形,譬如在白色背景上画一只蝴蝶,保存后除蝴蝶本身外,还将有白 色背景.如果简单将这个位图复制到另一位置或另一控件,那么将在背景上贴一个矩形块而不仅仅是 蝴蝶本身!蝴蝶与矩形块的白色底色形成明显的对比,让人感到与大背景不吻合,非常别扭。因此需 要将位图作一定处理,使蝴蝶周围的白色区域变成“透明”,从而让背景硅示出来.造成一种只将蝴 蝶本身贴在背景上的错觉。 vB5 的对图形进行位块传递,如:复制某一幅图象的特定部分、将图象进行拉伸和压缩以及翻转图象等 等,特别是该方法除了普通的整块复制外,还可以同时对位图进行逻辑与、逻辑或、异或等等逻辑运 算(光栅操作)。其实,该方法是利用WINDOWS …rP的语法如下: 万方数据 14 收稿日期:2000.ii 第2期 唐宜欣,唐正欣:利用VB5.0实现魔术棒式复制图象 ·109 J,【heighl』, [object].PaintPicturepicture,xl,yl,[zo/dthl 【x23,[yZJ,1width2】,height2,l印∞如J 指定object上绘制picture的目标起始坐标;width1,heigM指示目标宽度和高度,改变目标宽度或 位操作,例如vbSrcPaint或vbSrcAnd等(光栅操作代码)。 彩色蝴蝶是画在白色背景上的,为了让白色变成象玻璃一样“透 明”,需要考虑位操作,注意到白色值的二进制代码全为1,黑色值全 为0,因此,上面提到的屏蔽板,是将原图(即白色背景上画的彩色 蝴蝶)处理成黑白两色,蝴蝶本身为白色,背景为黑色,如图2所示: 有了这两个图象后,连续两次采用PaintPi

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档