在Gdip模块中,有这样一个枚举:
Public Enum SmoothingMode
SmoothingModeInvalid = QualityModeInvalid
SmoothingModeDefault = QualityModeDefault
SmoothingModeHighSpeed = QualityModeLow
SmoothingModeHighQuality = QualityModeHigh
SmoothingModeNone
SmoothingModeAntiAlias
SmoothingModeAntiAlias8x4
SmoothingModeAntiAlias8x8
End Enum
这是平滑样式的枚举。参考地址如下:
测试代码为:
Private Sub Form_Load()
InitGDIPlus
Me.DrawWidth = 2
CreateLine Me.hdc, 10, 20, 40, 40, 2, &HFF000000
Me.Line (50, 20)-(80, 40), vbBlack
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
TerminateGDIPlus
End Sub
在Gdip中的CreateLine中修改这句代码:
GdipSetSmoothingMode tGraphics,平滑模式
分别得到以下结果:
上面这张图需要原图查看,这是绘制结果经过放大若干倍的效果。第一个为用line方法生成直线的对比。
不难看出,在放大后,几种平滑模式的效果还是有所区别的。
至于为什么2像素宽度看不出明显差别呢,我想应该是人眼视力极限的缘故。
但不管怎么说,平滑效果还是有差别的。