SetStretchBltMode

SetStretchBltMode

VB声明

Declare Function SetStretchBltMode Lib "gdi32" Alias "SetStretchBltMode" (ByVal hdc As Long, ByVal nStretchMode As Long) As Long

说明

指定StretchBltStretchDIBits函数的伸缩模式。这种伸缩模式定义了Windows如何对伸缩过程中剔除的扫描线进行控制。对于VB窗体和控件,倘若在API绘图过程中使用这个函数,建议恢复原来的StretchBlt模式

返回值

Long,上一次伸缩模式的值,零表示失败

参数表

参数

类型及说明

hdc

Long,设备场景的句柄

nStretchMode

Long,新伸缩模式建立在下述任何一个常数的基础上,它们均在API32.TXT文件中得到了定义:

STRETCH_ANDSCANS

默认设置。剔除的线段与剩下的线段进行AND运算。这个模式通常应用于采用了白色背景的单色位图

STRETCH_DELETESCANS

剔除的线段被简单的清除。这个模式通常用于彩色位图

STRETCH_ORSCANS

剔除的线段与剩下的线段进行OR运算。这个模式通常应用于采用了白色背景的单色位图

STRETCH_HALFTONE

目标位图上的像素块被设为源位图上大致近似的块。这个模式要明显慢于其他模式

注解

如果要对伸缩模式有一个更深刻的印象,可想象一下对白色图象中的一条白色细线进行压缩。压缩过程中,像素会从图象中删去。为避免线段消失,在删除它们之前,有必要先对线段中的像素与邻近像素进行AND运算。为达到这个目的,应考虑选用STRETCH_ANDSCANS伸缩模式

Top