Postupy: Nastavení šířky a pera a zarovnání

Při vytváření Penmůžete jako jeden z argumentů konstruktoru zadat šířku pera. Šířku pera můžete také změnit vlastností WidthPen třídy.

Teoretická čára má šířku 0. Když nakreslíte čáru o šířce 1 pixel, pixely se zarovnají na teoretickou čáru. Pokud nakreslíte čáru, která je větší než jeden pixel široký, pixely jsou buď zarovnané na teoretickou čáru, nebo se zobrazí na jedné straně teoretické čáry. Vlastnost zarovnání pera Pen můžete nastavit tak, aby bylo možné určit, jak budou pixely nakreslené tímto perem umístěny vzhledem k teoreticky čarám.

Hodnoty Center, Outseta Inset které se zobrazí v následujících příkladech kódu jsou členy výčtu PenAlignment .

Následující příklad kódu nakreslí čáru dvakrát: jednou s černým perem o šířce 1 a jednou se zeleným perem o šířce 10.

Pokud chcete měnit šířku pera

  • Nastavte hodnotu Alignment vlastnosti na Center (výchozí) a určete, že pixely nakreslené zeleným perem budou zarovnané na teoretickou čáru. Následující obrázek znázorňuje výslednou čáru.

    A black thin line with green highlight.

    Následující příklad kódu nakreslí obdélník dvakrát: jednou s černým perem o šířce 1 a jednou se zeleným perem o šířce 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)
    
    

Změna zarovnání pera

  • Nastavte hodnotu Alignment vlastnosti tak, aby Center bylo možné určit, že pixely nakreslené zeleným perem budou zacentrovány na hranici obdélníku.

    Následující obrázek znázorňuje výsledný obdélník:

    A rectangle drawn with black thin lines with green highlight.

    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)
    
    

Vytvoření pera inset

  • Zarovnání zeleného pera můžete změnit úpravou třetího příkazu v předchozím příkladu kódu následujícím způsobem:

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

    Teď se pixely v široké zelené čáře zobrazí na vnitřní straně obdélníku, jak je znázorněno na následujícím obrázku:

    A rectangle drawn with black lines with the wide green line inside.

Viz také