transparentBlt 函数 (wingdi.h)
TransparentBlt 函数将对应于像素矩形的颜色数据从指定的源设备上下文传输到目标设备上下文中。
语法
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
);
参数
[in] hdcDest
目标设备上下文的句柄。
[in] xoriginDest
目标矩形左上角的 x 坐标(以逻辑单元为单位)。
[in] yoriginDest
目标矩形左上角的 y 坐标(以逻辑单元为单位)。
[in] wDest
目标矩形的宽度(以逻辑单元表示)。
[in] hDest
目标矩形的高度(以逻辑单元表示)。
[in] hdcSrc
源设备上下文的句柄。
[in] xoriginSrc
源矩形的 x 坐标(以逻辑单元为单位)。
[in] yoriginSrc
源矩形的 y 坐标(以逻辑单元为单位)。
[in] wSrc
源矩形的宽度(以逻辑单元表示)。
[in] hSrc
源矩形的高度(以逻辑单元表示)。
[in] crTransparent
要视为透明的源位图中的 RGB 颜色。
返回值
如果函数成功,则返回值为 TRUE。
如果函数失败,则返回值为 FALSE。
注解
TransparentBlt 函数适用于兼容位图 (DB) 。
TransparentBlt 函数支持源位图的所有格式。 但是,对于 32 bpp 位图,它只是复制 alpha 值。 使用 AlphaBlend 指定具有透明度的每像素 32 位位图。
如果源矩形和目标矩形的大小不同,则拉伸源位图以匹配目标矩形。 使用 SetStretchBltMode 函数时,BLACKONWHITE 和 WHITEONBLACK 的 iStretchMode 模式将转换为 TransparentBlt 函数的 COLORONCOLOR。
目标设备上下文指定目标坐标的转换类型。 源设备上下文指定源坐标的转换类型。
如果源或目标的宽度或高度为负值,则 TransparentBlt 不会镜像位图。
在多监视器系统中使用时, hdcSrc 和 hdcDest 必须引用同一设备,否则函数将失败。 若要在不同设备的 DC 之间传输数据,请通过调用 GetDIBits 将内存位图转换为 DIB。 若要向第二台设备显示 DIB,请调用 SetDIBits 或 StretchDIBits。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Msimg32.lib |
DLL | Msimg32.dll |