文字反鋸齒功能
GDI+ 為繪製文字提供了不同的品質等級。一般而言,較高品質的呈現比較低品質的呈現需要較長的處理時間。若要設定文字的品質等級,請將 Graphics 物件的 TextRenderingHint 屬性設定為 TextRenderingHint 列舉型別的其中一個項目。
GDI+ 根據 Microsoft® ClearType® 的顯示技術,提供了傳統的反鋸齒功能和一種新的反鋸齒功能。只能在 Microsoft® Windows® XP 上使用的 ClearType 平滑化功能,可改進具有數位介面的彩色 LCD 監視器上的可讀性,例如筆記型電腦的螢幕和高品質的桌上型平面顯示器。CRT 螢幕上的可讀性也已略微提昇。
ClearType 與 LCD 信號條紋 (Stripe) 的方向和順序有關。目前,ClearType 只能用於已排序 RGB (Ordered RGB) 的垂直信號條紋。如果您使用的是 Tablet PC (它的顯示器可朝任何方向),或者如果您使用的螢幕可調整成橫向或縱向,就必須考慮到這一點。
下列範例會使用兩種不同的品質設定來繪製文字:
Dim fontFamily As New FontFamily("Times New Roman")
Dim font As New Font( _
fontFamily, _
32, _
FontStyle.Regular, _
GraphicsUnit.Pixel)
Dim solidBrush As New SolidBrush(Color.FromArgb(255, 0, 0, 255))
Dim string1 As String = "SingleBitPerPixel"
Dim string2 As String = "AntiAlias"
e.Graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel
e.Graphics.DrawString(string1, font, solidBrush, New PointF(10, 10))
e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias
e.Graphics.DrawString(string2, font, solidBrush, New PointF(10, 60))
[C#]
FontFamily fontFamily = new FontFamily("Times New Roman");
Font font = new Font(
fontFamily,
32,
FontStyle.Regular,
GraphicsUnit.Pixel);
SolidBrush solidBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));
string string1 = "SingleBitPerPixel";
string string2 = "AntiAlias";
e.Graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;
e.Graphics.DrawString(string1, font, solidBrush, new PointF(10, 10));
e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
e.Graphics.DrawString(string2, font, solidBrush, new PointF(10, 60));
下圖顯示的是上述程式碼的輸出。