Partager via


Guide pratique pour définir la largeur et l’alignement du stylet

Lorsque vous créez un Pen, vous pouvez fournir la largeur du stylo comme argument pour le constructeur. Vous pouvez également modifier la largeur du stylet avec la propriété Width de la classe Pen.

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

Les valeurs Center, Outsetet Inset qui apparaissent dans les exemples de code suivants sont membres de l’énumération PenAlignment.

L’exemple de code suivant dessine deux fois une ligne : une fois avec un stylet noir de largeur 1 et une fois avec un stylet vert de largeur 10.

Pour varier la largeur d’un stylet

  • Définissez la valeur de la propriété Alignment sur Center (valeur 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 obtenue.

    Une ligne fine noire avec une surbrillance verte.

    L’exemple de code suivant dessine deux fois un rectangle : une fois avec un stylet noir de largeur 1 et une fois avec un stylet vert de largeur 10.

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

Pour modifier l’alignement d’un stylet

  • Définissez la valeur de la propriété Alignment sur 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 :

    Rectangle dessiné avec des lignes minces noires avec une surbrillance verte.

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

Pour créer un stylo avec un retrait

  • Modifiez l’alignement du stylet vert en modifiant la troisième instruction de l’exemple de code précédent comme suit :

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

    À présent, les pixels de la ligne verte large apparaissent à l’intérieur du rectangle, comme illustré dans l’illustration suivante :

    Rectangle dessiné avec des lignes noires avec la ligne verte large à l’intérieur.

Voir aussi