Porady: stosowanie antyaliasingu do tekstu
Antyaliasing odnosi się do wygładzenia postrzępionych krawędzi rysowania grafiki i tekstu w celu poprawy ich wyglądu lub czytelności. Dzięki zarządzanym klasom GDI+ można renderować tekst o wysokiej jakości antyaliased, a także tekst o niższej jakości. Zazwyczaj renderowanie o wyższej jakości zajmuje więcej czasu przetwarzania niż renderowanie niższej jakości. Aby ustawić poziom jakości tekstu, ustaw TextRenderingHint właściwość elementu Graphics na jeden z elementów TextRenderingHint wyliczenia
Przykład
Poniższy przykład kodu rysuje tekst z dwoma różnymi ustawieniami jakości.
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))
Poniższa ilustracja przedstawia dane wyjściowe przykładowego kodu:
Kompilowanie kodu
Powyższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse
parametru , który jest parametrem PaintEventHandler.
Zobacz też
.NET Desktop feedback