Comment : utiliser l'anticrénelage avec du texte
L'anticrénelage fait référence au lissage de bords en escalier de texte et de graphiques dessinés pour améliorer leur apparence ou lisibilité. Avec les classes managées GDI+, vous pouvez restituer du texte non crénelé de qualité supérieure, ainsi que du texte de qualité inférieure. En règle générale, un rendu de meilleure qualité nécessite plus de temps de traitement qu'un rendu de qualité inférieure. Pour définir le niveau de la qualité du texte, affectez à la propriété TextRenderingHint d'un Graphics l'un des éléments de l'énumération TextRenderingHint
Exemple
L'exemple de code suivant dessine du texte avec deux paramètres de qualité différents.
L'illustration suivante montre la sortie de l'exemple de code.
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))
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));
Compilation du code
L'exemple de code précédent est destiné à une utilisation avec Windows Forms et nécessite PaintEventArgs e, qui est un paramètre de PaintEventHandler.