Sdílet prostřednictvím


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

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

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, abyste určili, jak jsou pixely nakreslené tímto perem umístěny vzhledem k teoretickým čarám.

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

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 vlastnosti Alignment 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.

    černá tenká čára se zeleným zvýrazněním.

    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ěnit zarovnání pera

  • Nastavte hodnotu vlastnosti Alignment na Center, aby se určilo, že pixely nakreslené zeleným perem budou středově na hranici obdélníku.

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

    Obdélník nakreslený černými tenkými čárami se zeleným zvýrazněním.

    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řit zapouzdřené pero

  • 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:

    Obdélník nakreslený černými čárami s širokým zeleným čárou uvnitř.

Viz také