在做游戏的时候,难免要用到透明贴图,用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 实现透明贴图