Anticrénelage avec des lignes et des courbes
Lorsque vous utilisez GDI+ pour dessiner une ligne, vous fournissez le point de départ et le point d'arrivée de cette ligne, mais vous n'avez pas à préciser d'informations sur les pixels individuels. GDI+ fonctionne en collaboration avec le logiciel du pilote d'affichage pour déterminer quels pixels activer pour afficher la ligne sur un périphérique d'affichage particulier.
Crénelage
Prenez le segment de droite rouge qui va du point (4, 2) au point (16, 10). Supposez que le système de coordonnées a son origine dans le coin supérieur gauche et que l'unité de mesure est le pixel. Supposez également que l'axe des abscisses (x) pointe vers la droite et que l'axe des ordonnées (y) pointe vers le bas. L'illustration suivante représente une vue agrandie de la ligne rouge dessinée sur un arrière-plan multicolore.
Les pixels rouges utilisés pour le rendu de la ligne sont opaques. Il n'y a pas de pixels partiellement transparents dans cette ligne. Ce type de rendu donne à la ligne un aspect d'escalier. Cette technique qui représente une ligne comme un escalier est appelée crénelage ; l'escalier est un alias pour la ligne théorique.
Anticrénelage
Une technique plus élaborée de rendu de ligne consiste à utiliser des pixels partiellement transparents et des pixels opaques. Les pixels sont définis comme étant de couleur rouge franche ou comme étant une fusion de rouge et de la couleur d'arrière-plan en fonction de leur proximité par rapport à la ligne. Ce type de rendu est appelé anticrénelage et donne une ligne plus lisse pour l'œil humain. L'illustration suivante montre comment certains pixels sont fusionnés avec l'arrière-plan pour produire une ligne non crénelée.
L'anticrénelage (ou lissage) peut également être appliqué aux courbes. L'illustration suivante représente une vue agrandie d'une ellipse lissée.
L'illustration suivante montre la même ellipse en taille réelle, sans anticrénelage et avec anticrénelage.
Pour dessiner des lignes et des courbes qui utilisent l'anticrénelage, créez une instance de la classe Graphics et affectez à sa propriété SmoothingMode la valeur AntiAlias ou HighQuality. Appelez ensuite l'une des méthodes de dessin de la même classe Graphics.
myGraphics.SmoothingMode = SmoothingMode.AntiAlias
myGraphics.DrawLine(myPen, 0, 0, 12, 8)
myGraphics.SmoothingMode = SmoothingMode.AntiAlias;
myGraphics.DrawLine(myPen, 0, 0, 12, 8);
Voir aussi
Tâches
Comment : utiliser l'anticrénelage avec du texte
Référence
System.Drawing.Drawing2D.SmoothingMode