检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:杜经农
出 处:《电脑》1998年第6期80-81,共2页Computer Magazine
摘 要:在多媒体编程中,经常需要实现图像的叠加,在将前景位图叠加到背景位图上时,通常需要透明屏蔽,即围绕轮廓显示前景中所需图像,而不是在背景上显示出一个矩形的前景位图块。例如,要编制一个导弹打飞机的游戏,我们希望在背景上显示飞机轮廓,透过轮廓的间隙能看见背景图,但高级语言的绘图函数只能显示矩形位图块,必须自己编程实现透明位图。实现透明位图有多种办法,在DOS中,通常是对具体硬件编程,以实现直接写屏。在WINDOWS中,我们不能针对具体硬件编程,因此,需要人工制作相应的屏蔽位图,与需要透明显示的位图进行光栅操作,进行数次叠加后以达到相应效果。这种方法的缺点在于编程复杂,绘图效率不高,而且还需使用图像编辑软件来处理背景位图。使用这种办法编制的含动画的程序,在硬件配置差一些的机器上,执行时就不够流畅,这在WINDOWS系统的交互式动画编程中,是一个令人头痛的问题。本人在VC++编程中,为提高绘图速度,减小程序对硬件的要求,尝试了一种在WINDOWS中直接写屏的办法,得到了令人满意的效果,当然,这里的直接写屏并非是直接对硬件编程,而是通过在屏幕上逐点绘像素来实现透明位图。这种方法编程简单,而且执行速度相当快,现介绍如下。我们使用VC++5.0编程。
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.170