setStretchBltMode 函数 (wingdi.h)
SetStretchBltMode 函数在指定的设备上下文中设置位图拉伸模式。
语法
int SetStretchBltMode(
[in] HDC hdc,
[in] int mode
);
参数
[in] hdc
设备上下文的句柄。
[in] mode
拉伸模式。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
使用消除像素和现有像素的颜色值执行布尔和运算。 如果位图是单色位图,则此模式会以牺牲白色像素为代价保留黑色像素。 |
|
删除像素。 此模式会删除所有已消除的像素线,而不会尝试保留其信息。 |
|
将源矩形中的像素映射到目标矩形中的像素块。 目标像素块上的平均颜色近似于源像素的颜色。
设置 HALFTONE 拉伸模式后,应用程序必须调用 SetBrushOrgEx 函数来设置画笔原点。 如果无法执行此操作,则会发生画笔未对齐。 |
|
与 BLACKONWHITE 相同。 |
|
与 COLORONCOLOR 相同。 |
|
与 HALFTONE 相同。 |
|
与 WHITEONBLACK 相同。 |
|
使用消除像素和现有像素的颜色值执行布尔 OR 操作。 如果位图是单色位图,则此模式会以牺牲黑色像素为代价保留白色像素。 |
返回值
如果函数成功,则返回值为以前的拉伸模式。
如果函数失败,则返回值为零。
此函数可以返回以下值。
返回代码 | 说明 |
---|---|
|
一个或多个输入参数无效。 |
注解
拉伸模式定义当应用程序调用 StretchBlt 函数时,系统将位图的行或列与显示设备上的现有像素相结合的方式。
BLACKONWHITE (STRETCH_ANDSCANS) 和 WHITEONBLACK (STRETCH_ORSCANS) 模式通常用于保留单色位图中的前景像素。 COLORONCOLOR (STRETCH_DELETESCANS) 模式通常用于保留颜色位图中的颜色。
与其他三种模式相比,HALFTONE 模式较慢,需要对源图像进行更多的处理;但会生成更高质量的图像。 另请注意,在设置 HALFTONE 模式后,必须调用 SetBrushOrgEx ,以避免画笔错位。
根据设备驱动程序的功能,其他拉伸模式也可能可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wingdi.h (包括 Windows.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |