描述
TransparentBlt功能执行与从指定源设备上下文到目标设备上下文的像素矩形相对应的颜色数据的位块传输。
C++ 语法
BOOL TransparentBlt( __in HDC hdcDest, __in int xoriginDest, __in int yoriginDest, __in int wDest, __in int hDest, __in HDC hdcSrc, __in int xoriginSrc, __in int yoriginSrc, __in int wSrc, __in int hSrc, __in UINT crTransparent ); |
PowerBASIC 语法
FUNCTION TransparentBlt( _ BYVAL hdcDest AS DWORD, _ BYVAL xoriginDest AS LONG, _ BYVAL yoriginDest AS LONG, _ BYVAL wDest AS LONG, _ BYVAL hDest AS LONG, _ BYVAL hdcSrc AS DWORD, _ BYVAL xoriginSrc AS LONG, _ BYVAL yoriginSrc AS LONG, _ BYVAL wSrc AS LONG, _ BYVAL hSrc AS LONG, _ BYVAL crTransparent AS DWORD _ ) AS LONG |
参数
hdcDest
[in]处理目标设备上下文。
xoriginDest
[in]指定目标矩形左上角的x坐标(以逻辑为单位)。
yoriginDest
[in]指定目标矩形左上角的y坐标(以逻辑为单位)。
wDest
[in]指定目的矩形的宽度(以逻辑为单位)。
hDest
[in]处理目标矩形的高度(以逻辑为单位)。
hdcSrc
[in]处理源设备上下文。
xoriginSrc
[in]指定源矩形的x坐标(以逻辑为单位)。
yoriginSrc
[in]指定源矩形的宽度(以逻辑为单位)。
wSrc
[in]指定源矩形的宽度(以逻辑为单位)。
hSrc
[in]指定源矩形的高度(以逻辑为单位)。
crTransparent
[in]将源位图中的RGB颜色视为透明。
返回值
如果函数成功,返回值为TRUE。
如果函数失败,返回值为GDI_ERROR。
Windows NT / 2000 / XPVista / Windows 7:要获取扩展错误信息,请调用GetLastError.
备注
TransparentBlt功能适用于兼容的位图(DDB)。
TransparentBlt功能支持所有格式的源位图。但是,对于32个bpp位图,它只是复制alpha值。使用AlphaBlend以透明度指定32位/像素位图。
如果源和目标矩形的大小不一样,则源位图将被拉伸以匹配目标矩形。当使用SetStretchBltMode功能时,TransparentBlt功能将BLACKONWHITE和WHITEONBLACK的iStretchMode模式转换为COLORONCOLOR。
目标设备上下文指定目标坐标的转换类型。源设备上下文指定源坐标的变换类型。
TransparentBlt如果源或目的地的宽度或高度都为负数,则不会镜像位图。
Windows 95/98:TransparentBlt包含可以耗尽系统资源的内存泄漏。
Windows 98 / Me,Windows 2000 / XPVista / Windows 7:当在多监视器系统中使用时,hdcSrc和hdcDest必须引用相同的设备,否则功能将失败。要在不同设备的DC之间传输数据,请通过调用GetDIBits将内存位图转换为DIB。要将DIB显示到第二个设备,请调用SetDIBits或StretchDIBits.
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)