如何:使用文字反鋸齒功能
消除鋸齒是指對繪製的圖形和文字不規則的邊緣進行平滑處理,以改善其外觀或可讀性。 透過受控 GDI+ 類別,可以轉譯高品質的反鋸齒文字,以及較低品質的文字。 一般而言,品質較高的轉譯比品質較低的轉譯需要更多處理時間。 若要設定文字品質層級,請將 TextRenderingHint 的 Graphics 屬性設定為 TextRenderingHint 列舉的其中一個元素
範例
下列程式碼範例會繪製具有兩個不同品質設定的文字。
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));
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))
下圖顯示範例程式碼的輸出:
編譯程式碼
以上為了與 Windows Form 搭配使用而設計的程式碼範例,需要 PaintEventArgse
,這是 PaintEventHandler 的參數。