Comment : définir la largeur et l'alignement du stylet

Lorsque vous créez un objet Pen, vous pouvez fournir la largeur du stylet comme l'un des arguments au constructeur. Vous pouvez également changer la largeur du stylet au moyen de la propriété Width de la classe Pen.

Une ligne théorique a une largeur de 0. Lorsque vous dessinez une ligne qui mesure 1 pixel de large, les pixels sont centrés sur la ligne théorique. Si vous dessinez une ligne d'une largeur supérieure à un pixel, les pixels sont centrés sur la ligne théorique ou apparaissent sur un côté de la ligne théorique. Vous pouvez définir la propriété d'alignement d'un objet Pen pour déterminer comment les pixels dessinés avec ce stylet seront positionnés par rapport aux lignes théoriques.

Les valeurs Center, Outset et Inset qui apparaissent dans les exemples de code suivants sont des membres de l'énumération PenAlignment.

L'exemple de code suivant dessine une ligne deux fois : une première fois avec un stylet noir d'une largeur de 1 et une autre fois avec un stylet vert d'une largeur de 10.

Pour faire varier la largeur d'un stylet

  • Affectez à la propriété Alignment la valeur Center (par défaut) pour spécifier que les pixels dessinés avec le stylet vert seront centrés sur la ligne théorique. L'illustration suivante montre la ligne résultante.

    Stylets

    L'exemple de code suivant dessine un rectangle deux fois : une première fois avec un stylet noir d'une largeur de 1 et une autre fois avec un stylet vert d'une largeur de 10.

            Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1)
            Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10)
            greenPen.Alignment = PenAlignment.Center
    
            ' Draw the line with the wide green pen.
            e.Graphics.DrawLine(greenPen, 10, 100, 100, 50)
    
            ' Draw the line with the thin black pen.
            e.Graphics.DrawLine(blackPen, 10, 100, 100, 50)
    
    
    Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1);
    Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10);
    greenPen.Alignment = PenAlignment.Center;
    
    // Draw the line with the wide green pen.
    e.Graphics.DrawLine(greenPen, 10, 100, 100, 50);
    
    // Draw the line with the thin black pen.
    e.Graphics.DrawLine(blackPen, 10, 100, 100, 50);
    

Pour modifier l'alignement d'un stylet

  • Affectez à la propriété Alignment la valeur Center pour spécifier que les pixels dessinés avec le stylet vert seront centrés sur la limite du rectangle.

    L'illustration suivante montre le rectangle résultant.

    Stylets

            Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1)
            Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10)
            greenPen.Alignment = PenAlignment.Center
    
            ' Draw the rectangle with the wide green pen.
            e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50)
    
            ' Draw the rectangle with the thin black pen.
            e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50)
    
    
    Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1);
    Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10);
    greenPen.Alignment = PenAlignment.Center;
    
    // Draw the rectangle with the wide green pen.
    e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50);
    
    // Draw the rectangle with the thin black pen.
    e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50);
    

Pour créer un stylet d'incrustation

  • Changez l'alignement du stylet vert en modifiant la troisième instruction de l'exemple de code précédent de la façon suivante :

            greenPen.Alignment = PenAlignment.Inset
    
    
    greenPen.Alignment = PenAlignment.Inset;
    

    Maintenant les pixels dans la ligne verte large apparaissent à l'intérieur du rectangle comme le montre l'illustration suivante.

    Stylets

Voir aussi

Autres ressources

Utilisation d'un stylet pour dessiner des lignes et des formes

Graphiques et dessins dans les Windows Forms