【摘要】:在显示透明图片时,必须去除透明色区域的像素只显示非透明色区域的像素,形成不规则边缘的图像。创建一个工程名为“Trans”的对话框程序,用于演示透明图片的显示方法。3)把本章第1节的MemDC.h文件复制到Trans工程目录中,通过文件视图中的“Add Files to Project”命令添加到编译列表中,如图8-8所示。图8-9 选择要导入到工程中的文件图8-10 将MemDC.h文件添加到编译列表6)在文件列表中双击MemDC.h文件,增加显示透明位图的代码。
棋盘上的可以移动的棋子或者游戏背景上运动的人物,这些图形的边缘都不是矩形形状的。在显示透明图片时,必须去除透明色区域的像素只显示非透明色区域的像素,形成不规则边缘的图像。有背景色的透明图片素材,一般由公司里的美工提供或者在网上搜索来获取。
创建一个工程名为“Trans”的对话框程序,用于演示透明图片的显示方法。
1)复制一张带透明色的位图文件到工程目录的res目录下,如图8-6所示。
2)在资源视图中导入该位图资源,如图8-7所示。
3)把本章第1节的MemDC.h文件复制到Trans工程目录中,通过文件视图中的“Add Files to Project”命令添加到编译列表中,如图8-8所示。
图8-6 透明图片素材(背景色是紫色)
图8-7 导入的位图资源
图8-8 添加文件到工程中
4)选中工程目录下的MemDC.h文件,单击“OK”按钮把文件导入到编译列表中,如图8-9所示。
5)执行File→Save Workspace命令保存编译列表的变动,如图8-10所示。
图8-9 选择要导入到工程中的文件(www.chuimin.cn)
图8-10 将MemDC.h文件添加到编译列表
6)在文件列表中双击MemDC.h文件,增加显示透明位图的代码。
7)在主对话框类的头文件中,添加一个CMemDC类型的成员变量。
8)修改WM_PAINT消息映射函数。
9)编译并运行,测试代码,如图8-11所示。
图8-11 查看运行结果
第一幅是带透明色一起原图输出,第二幅是去掉了透明色后的图片效果,最后是拉伸的透明图片。透明处理代码难以记忆,可以长期保存MemDC.h文件,在需要时只要导入该文件即可。
相关推荐