EngTransparentBlt 函数 (winddi.h)
EngTransparentBlt 函数提供具有透明度的位块传输功能。
语法
ENGAPI BOOL EngTransparentBlt(
[in] SURFOBJ *psoDst,
[in] SURFOBJ *psoSrc,
[in, optional] CLIPOBJ *pco,
[in, optional] XLATEOBJ *pxlo,
[in] RECTL *prclDst,
[in] RECTL *prclSrc,
[in] ULONG TransColor,
[in] ULONG bCalledFromBitBlt
);
参数
[in] psoDst
指向 SURFOBJ 结构的指针,该结构标识要绘制的目标图面。
[in] psoSrc
指向 SURFOBJ 结构的指针,该结构标识位块传输的源图面。
[in, optional] pco
指向 CLIPOBJ 结构的指针。 CLIPOBJ_Xxx 服务例程用于将剪辑区域枚举为一组矩形。 此枚举限制已修改的目标区域。 只要可能,GDI 就可以简化所涉及的剪裁。
[in, optional] pxlo
指向 XLATEOBJ 结构的指针,该结构指示应如何转换源颜色索引以写入目标图面。
[in] prclDst
指向 RECTL 结构的指针,该结构定义要修改的矩形区域。 此矩形在目标图面的坐标系中指定,由两个点定义:左上角和右下角。 矩形右下角排他;也就是说,其下边缘和右边缘不是位块传输的一部分。 定义矩形的两个点始终按顺序排列。
驱动程序不得使用空目标矩形调用 EngTransparentBlt 。
[in] prclSrc
指向 RECTL 结构的指针,该结构定义要复制的矩形区域。 此矩形在源图面的坐标系中指定,由两个点定义:左上角和右下角。 定义矩形的两个点始终按顺序排列。
源矩形永远不会超过源图面的边界,因此永远不会悬停在源图面上。
此矩形映射到 由 prclDst 定义的目标矩形。 驱动程序不得使用空源矩形调用 EngTransparentBlt 。
[in] TransColor
以源图面的格式指定物理透明颜色。 这是已转换为源图面调色板的颜色索引值。 有关详细信息,请参阅备注部分。
[in] bCalledFromBitBlt
保留。 该参数必须设置为零。
返回值
成功后,EngTransparentBlt 返回 TRUE 。 否则,它将返回 FALSE。
注解
驱动程序应调用 EngTransparentBlt ,如果它已挂钩 DrvTransparentBlt ,并且调用它来执行它不支持的事情。
支持在两个 设备管理的图面之间或设备管理的表面 与 GDI 管理的标准格式位图之间传输具有透明度的位块传输。 目前,GDI 仅支持BMF_4BPP和BMF_8BPP源图面。
不会复制源图面上与 iTransparentColor 指定的透明颜色匹配的像素。 有关透明布图的详细说明,请参阅 复制位图。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 2000 及更高版本的 Windows 操作系统。 |
目标平台 | 通用 |
标头 | winddi.h (包括 Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |