Partager via


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.

Ligne sans anticrénelage

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.

Anticrénelage d'une ligne

L'anticrénelage (ou lissage) peut également être appliqué aux courbes. L'illustration suivante représente une vue agrandie d'une ellipse lissée.

Anticrénelage de courbes

L'illustration suivante montre la même ellipse en taille réelle, sans anticrénelage et avec anticrénelage.

Exemple d'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

Autres ressources

Lignes, courbes et formes