Dela via


Anvisningar: Ange pennbredd och justering

När du skapar en Penkan du ange pennbredden som ett av argumenten till konstruktorn. Du kan också ändra pennbredden med egenskapen Width för klassen Pen.

En teoretisk linje har en bredd på 0. När du ritar en linje som är 1 bildpunkt bred centreras bildpunkterna på den teoretiska linjen. Om du ritar en linje som är mer än en pixel bred centreras bildpunkterna antingen på den teoretiska linjen eller visas på ena sidan av den teoretiska linjen. Du kan ange egenskapen för pennjustering för en Pen för att avgöra hur de bildpunkter som ritas med pennan ska placeras i förhållande till teoretiska linjer.

Värdena Center, Outsetoch Inset som visas i följande kodexempel är medlemmar i PenAlignment uppräkning.

I följande kodexempel ritas en linje två gånger: en gång med en svart penna med bredd 1 och en gång med en grön penna med bredd 10.

Så här varierar du bredden på en penna

  • Ange värdet för egenskapen Alignment till Center (standard) för att ange att pixlar som ritas med den gröna pennan ska centreras på den teoretiska linjen. Följande bild visar den resulterande raden.

    En svart tunn linje med grön markering.

    I följande kodexempel ritas en rektangel två gånger: en gång med en svart penna med bredd 1 och en gång med en grön penna med bredd 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)
    
    

Så här ändrar du justeringen för en penna

  • Ange värdet för egenskapen Alignment till Center för att ange att pixlarna som ritas med den gröna pennan ska centreras på rektangelns gräns.

    Följande bild visar den resulterande rektangeln:

    En rektangel ritad med svarta tunna linjer med grön 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)
    
    

Så här skapar du en inset-penna

  • Ändra den gröna pennans justering genom att ändra den tredje instruktionen i föregående kodexempel på följande sätt:

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

    Nu visas bildpunkterna i den breda gröna linjen på insidan av rektangeln enligt följande bild:

    En rektangel ritad med svarta linjer med den breda gröna linjen inuti.

Se även