最近某次Windows程序设计的作业,老师让我们完成在游戏背景上贴人物图,并且人物能根据键盘的操作完成简单的走动,然后就遇到问题了……人物背景没办法透明化。
记录一下TransparentBlt函数的用法
1、添加头文件和库
#include <windows.h>
#pragma comment(lib,"Msimg32.lib") //TransparentBlt函数包含的库文件
2、关于TransparentBlt函数参数的定义:
TransparentBltm(
HDC mdc, //目标DC(人物图将要被放上去的DC)
int nXOriginDest, //目标矩形左上角x坐标(人物图的起始x坐标)
int nYOriginDest, //目标矩形左上角y坐标(人物图的起始y坐标)
int nWidthDest, //目标矩形的宽度(贴在背景上的人物图的宽度)
int hHeightDest,//目标矩形的高度(贴在背景上的人物图的高度)
HDC bufdc, //指向源设备环境的句柄(已经贴上人物贴图的DC)
Int nXOriginSrc,//源矩形左上角x坐标
int nYOriginSrc, //源矩形左上角y坐标
int nWidthSrc, //准备贴在背景上的贴图的宽度
int nHeightSrc,//准备贴在背景上的贴图的高度
UINT crTransparent//RGB值,贴图中准备去掉的颜色的RGB
)
Int nXOriginSrc:如果你的人物贴图是很多个在一张图片上,那么源矩形的坐标就需要变化,例如我的人物图是这样的