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伸缩模式 |