Procédure : définir la largeur et l’alignement du styletHow to: Set Pen Width and Alignment

Lorsque vous créez un Pen, vous pouvez fournir la largeur du stylet comme l’un des arguments au constructeur.When you create a Pen, you can supply the pen width as one of the arguments to the constructor. Vous pouvez également modifier la largeur du stylet avec le Width propriété de la Pen classe.You can also change the pen width with the Width property of the Pen class.

Une ligne théorique a une largeur égale à 0.A theoretical line has a width of 0. Lorsque vous dessinez une ligne qui est la largeur de 1 pixel, les pixels sont centrés sur la ligne théorique.When you draw a line that is 1 pixel wide, the pixels are centered on the theoretical line. Si vous dessinez une ligne qui est supérieure à un pixel de large, les pixels sont centrés sur la ligne théorique ou apparaissent à côté de la ligne théorique.If you draw a line that is more than one pixel wide, the pixels are either centered on the theoretical line or appear to one side of the theoretical line. Vous pouvez définir la propriété d’alignement d’un Pen pour déterminer comment les pixels dessinés avec ce stylet seront positionnés par rapport aux lignes théoriques.You can set the pen alignment property of a Pen to determine how the pixels drawn with that pen will be positioned relative to theoretical lines.

Les valeurs Center, Outset, et Inset qui apparaissent dans l’exemple suivant les exemples de code sont des membres de la PenAlignment énumération.The values Center, Outset, and Inset that appear in the following code examples are members of the PenAlignment enumeration.

L’exemple de code suivant dessine une ligne deux fois : une fois avec un stylet noir d’une largeur de 1 et une fois avec un stylet vert d’une largeur de 10.The following code example draws a line twice: once with a black pen of width 1 and once with a green pen of width 10.

Pour faire varier la largeur d’un styletTo vary the width of a pen

  • Définissez la valeur de la Alignment propriété Center (la valeur par défaut) pour spécifier que les pixels dessinés avec le stylet vert seront centrés sur la ligne théorique.Set the value of the Alignment property to Center (the default) to specify that pixels drawn with the green pen will be centered on the theoretical line. L’illustration suivante montre la ligne résultante.The following illustration shows the resulting line.

    Une fine ligne noire avec mise en surbrillance verte.

    L’exemple de code suivant dessine un rectangle à deux reprises : une fois avec un stylet noir d’une largeur de 1 et une fois avec un stylet vert d’une largeur de 10.The following code example draws a rectangle twice: once with a black pen of width 1 and once with a green pen of width 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 styletTo change the alignment of a pen

  • Définissez la valeur de la Alignment propriété Center pour spécifier que les pixels dessinés avec le stylet vert seront centrés sur la limite du rectangle.Set the value of the Alignment property to Center to specify that the pixels drawn with the green pen will be centered on the boundary of the rectangle.

    L’illustration suivante montre le rectangle résultant :The following illustration shows the resulting rectangle:

    Un rectangle est dessiné avec des lignes fines noir avec mise en 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 stylet d’incrustationTo create an inset pen

  • Modifier l’alignement du stylet vert en modifiant la troisième instruction dans l’exemple de code précédent comme suit :Change the green pen's alignment by modifying the third statement in the preceding code example as follows:

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

    Les pixels dans la ligne verte large apparaissent maintenant à l’intérieur du rectangle comme indiqué dans l’illustration suivante :Now the pixels in the wide green line appear on the inside of the rectangle as shown in the following illustration:

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

Voir aussiSee also