Como usar suavização com texto

Antialiasing refere-se à suavização de bordas irregulares de gráficos e texto desenhados para melhorar sua aparência ou legibilidade. Com as classes GDI+ gerenciadas, você pode renderizar texto com suavização de serrilhado de alta qualidade, bem como texto de qualidade inferior. Normalmente, a renderização de qualidade superior leva mais tempo de processamento do que a renderização de qualidade inferior. Para definir o nível de qualidade do texto, defina a TextRenderingHint propriedade de a Graphics como um dos elementos da TextRenderingHint enumeração

Exemplo

O exemplo de código a seguir desenha texto com duas configurações de qualidade diferentes.

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))

A ilustração a seguir mostra a saída do código de exemplo:

Captura de tela que mostra texto com duas configurações de qualidade diferentes.

Compilando o código

O exemplo de código anterior foi projetado para uso com o Windows Forms e requer PaintEventArgs e, que é um parâmetro de PaintEventHandler.

Confira também