setStretchBltMode 函数 (wingdi.h)

SetStretchBltMode 函数在指定的设备上下文中设置位图拉伸模式。

语法

int SetStretchBltMode(
  [in] HDC hdc,
  [in] int mode
);

参数

[in] hdc

设备上下文的句柄。

[in] mode

拉伸模式。 此参数的取值可为下列值之一:

含义
BLACKONWHITE
使用消除像素和现有像素的颜色值执行布尔和运算。 如果位图是单色位图,则此模式会以牺牲白色像素为代价保留黑色像素。
COLORONCOLOR
删除像素。 此模式会删除所有已消除的像素线,而不会尝试保留其信息。
半 色调
将源矩形中的像素映射到目标矩形中的像素块。 目标像素块上的平均颜色近似于源像素的颜色。

设置 HALFTONE 拉伸模式后,应用程序必须调用 SetBrushOrgEx 函数来设置画笔原点。 如果无法执行此操作,则会发生画笔未对齐。

STRETCH_ANDSCANS
与 BLACKONWHITE 相同。
STRETCH_DELETESCANS
与 COLORONCOLOR 相同。
STRETCH_HALFTONE
与 HALFTONE 相同。
STRETCH_ORSCANS
与 WHITEONBLACK 相同。
WHITEONBLACK
使用消除像素和现有像素的颜色值执行布尔 OR 操作。 如果位图是单色位图,则此模式会以牺牲黑色像素为代价保留白色像素。

返回值

如果函数成功,则返回值为以前的拉伸模式。

如果函数失败,则返回值为零。

此函数可以返回以下值。

返回代码 说明
ERROR_INVALID_PARAMETER
一个或多个输入参数无效。

注解

拉伸模式定义当应用程序调用 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

另请参阅

位图函数

位图概述

GetStretchBltMode

SetBrushOrgEx

StretchBlt