在做游戏的时候,难免要用到透明贴图,用bitblt又太复杂,什么光标码、、、
所以,我特意写篇文章,来讲讲transparentblt这函数,自认为容易,蛮好用!
先来看看transparentblt在百度的解释:
函数功能:该函数对指定的源设备环境中的矩形区域像素的颜色数据进行位块(bit_block)转换,并将结果置于目标设备环境。
函数原型:BOOL TransparentBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int hHeightDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, UINT crTransparent);
//好像很复杂的样子,其实不然
参数:
hdcDest:指向目标设备环境的句柄。
nXOriginDest:指定目标矩形左上角的X轴坐标,坐标以逻辑单位表示。
nYOriginDest:指定目标矩形左上角的Y轴坐标,坐标以逻辑单位表示。
nWidthDest:指定目标矩形的宽度。
nHeightDest:指定目标矩形的高度。
hdcsrc:指向源设备环境的句柄。
nXOriginSrc:指定源矩形(左上角)的X轴坐标,坐标以逻辑单位表示。
nYOriginsrc:指定源矩形(左上角)的Y轴坐标,坐标以逻辑单位表示。
nWidthSrc:指定源矩形的宽度。
nHeightSrc:指定源矩形的高度。
好了,不废话了,先看看要实现的效果!
下接我就教大家用transparentblt 实现透明贴图