Procedure: Penbreedte en uitlijning instellen

Wanneer u een Penmaakt, kunt u de penbreedte opgeven als een van de argumenten voor de constructor. U kunt ook de penbreedte wijzigen met de eigenschap Width van de klasse Pen.

Een theoretische lijn heeft een breedte van 0. Wanneer u een lijn tekent die 1 pixel breed is, worden de pixels gecentreerd op de theoretische lijn. Als u een lijn tekent die meer dan één pixel breed is, worden de pixels gecentreerd op de theoretische lijn of aan één kant van de theoretische lijn weergegeven. U kunt de eigenschap penuitlijning van een Pen instellen om te bepalen hoe de pixels die met die pen getekend zijn ten opzichte van theoretische lijnen worden geplaatst.

De waarden Center, Outseten Inset die worden weergegeven in de volgende codevoorbeelden, zijn lid van de opsomming PenAlignment.

In het volgende codevoorbeeld wordt twee keer een lijn gemaakt: eenmaal met een zwarte pen van breedte 1 en eenmaal met een groene pen van breedte 10.

De breedte van een pen variëren

  • Stel de waarde van de eigenschap Alignment in op Center (de standaardinstelling) om op te geven dat pixels die met de groene pen zijn getekend, worden gecentreerd op de theoretische lijn. In de volgende afbeelding ziet u de resulterende regel.

    Een zwarte dunne lijn met groene markering.

    Het volgende codevoorbeeld tekent twee keer een rechthoek: eenmaal met een zwarte pen van breedte 1 en eenmaal met een groene pen van breedte 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)
    
    

De uitlijning van een pen wijzigen

  • Stel de waarde van de eigenschap Alignment in op Center om op te geven dat de pixels die met de groene pen zijn getekend, worden gecentreerd op de grens van de rechthoek.

    In de volgende afbeelding ziet u de resulterende rechthoek:

    Een rechthoek getekend met zwarte dunne lijnen met groene markering.

    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)
    
    

Een insetpen maken

  • Wijzig de uitlijning van de groene pen door de derde instructie in het voorgaande codevoorbeeld als volgt te wijzigen:

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

    De pixels in de brede groene lijn worden nu weergegeven aan de binnenkant van de rechthoek, zoals wordt weergegeven in de volgende afbeelding:

    Een rechthoek getekend met zwarte lijnen met de brede groene lijn erin.

Zie ook