SetStretchBltMode功能设置指定设备上下文中的位图拉伸模式。
int SetStretchBltMode(
HDC 【HDC】, | //设备上下文的句柄 |
INT 【iStretchMode】 | //位图拉伸模式 |
); |
参数
【HDC】
标识设备上下文。
【iStretchMode】
指定拉伸模式。它可以是以下值之一:
值 | 描述 |
BLACKONWHITE | 使用已消除和现有像素的颜色值执行布尔AND运算。如果位图是单色位图,则此模式以牺牲白色像素为单位保留黑色像素。 |
COLORONCOLOR | 删除像素。此模式删除所有已删除的像素行,而不尝试保留其信息。 |
HALFTONE | 将源矩形中的像素映射到目标矩形中的像素块。目标像素块上的平均颜色近似于源像素的颜色。 |
设置HALFTONE拉伸模式后,应用程序必须调用SetBrushOrgEx功能来设置画笔起点。如果不能这样做,则刷出错位。 | |
STRETCH_ANDSCANS | 和BLACKONWHITE一样。 |
STRETCH_DELETESCANS | 同COLORONCOLOR。 |
STRETCH_HALFTONE | 与HALFTONE相同。 |
STRETCH_ORSCANS | 和WHITEONBLACK一样。 |
WHITEONBLACK | 使用已消除和已存在的像素的颜色值执行布尔OR运算。如果位图是单色位图,则此模式将以黑色像素为代价来保留白色像素。 |
返回值
如果功能成功,则返回值为先前的拉伸模式。
如果函数失败,返回值为零。
备注
拉伸模式定义了当应用程序调用{??989796078}功能时,Windows将位图的行或列与显示设备上的现有像素组合在一起。
BLACKONWHITE(STRETCH_ANDSCANS)和WHITEONBLACK(STRETCH_ORSCANS)模式通常用于保留单色位图中的前景像素。COLORONCOLOR(STRETCH_DELETESCANS)模式通常用于保留彩色位图中的颜色。
HALFTONE模式需要比其他三种模式更多地处理源图像;它比其他的慢,但产生更高质量的图像。另请注意,在设置HALFTONE模式后,必须调用SetBrushOrgEx以避免画笔错位。
根据设备驱动程序的功能,还可以使用其他扩展模式。
也可以看看