VB声明 | ||
Declare Function SetStretchBltMode Lib "gdi32" Alias "SetStretchBltMode" (ByVal hdc As Long, ByVal nStretchMode As Long) As Long | ||
说明 | ||
指定StretchBlt 和 StretchDIBits函数的伸缩模式。这种伸缩模式定义了Windows如何对伸缩过程中剔除的扫描线进行控制。对于VB窗体和控件,倘若在API绘图过程中使用这个函数,建议恢复原来的StretchBlt模式 | ||
返回值 | ||
Long,上一次伸缩模式的值,零表示失败 | ||
参数表 | ||
参数 | 类型及说明 | |
hdc | Long,设备场景的句柄 | |
nStretchMode | Long,新伸缩模式建立在下述任何一个常数的基础上,它们均在API32.TXT文件中得到了定义: | |
STRETCH_ANDSCANS | 默认设置。剔除的线段与剩下的线段进行AND运算。这个模式通常应用于采用了白色背景的单色位图 | |
STRETCH_DELETESCANS | 剔除的线段被简单的清除。这个模式通常用于彩色位图 | |
STRETCH_ORSCANS | 剔除的线段与剩下的线段进行OR运算。这个模式通常应用于采用了白色背景的单色位图 | |
STRETCH_HALFTONE | 目标位图上的像素块被设为源位图上大致近似的块。这个模式要明显慢于其他模式 | |
注解 | ||
如果要对伸缩模式有一个更深刻的印象,可想象一下对白色图象中的一条白色细线进行压缩。压缩过程中,像素会从图象中删去。为避免线段消失,在删除它们之前,有必要先对线段中的像素与邻近像素进行AND运算。为达到这个目的,应考虑选用STRETCH_ANDSCANS伸缩模式 |