Megosztás a következőn keresztül:


Útmutató: A toll szélességének és igazításának beállítása

Amikor létrehoz egy Pen, a konstruktor egyik argumentumaként megadhatja a toll szélességét. A toll szélességét a Width osztály Pen tulajdonságával is módosíthatja.

Az elméleti vonal szélessége 0. Ha egy 1 képpont széles vonalat rajzol, a képpontok az elméleti vonalon vannak középre igazítva. Ha egynél több képpont széles vonalat rajzol, a képpontok vagy az elméleti vonal közepén, vagy az elméleti vonal egyik oldalán jelennek meg. Beállíthatja egy Pen tolligazítási tulajdonságát annak meghatározásához, hogy az ezzel a tollal rajzolt képpontok hogyan lesznek az elméleti vonalakhoz képest pozicionálva.

Az alábbi kód példákban szereplő Center, Outsetés Inset értékek a PenAlignment enumerálás tagjai.

A következő példakód kétszer rajzol egy sort: egyszer egy 1 szélességű fekete tollal, egyszer pedig egy 10 szélességű zöld tollal.

Toll szélességének módosítása

  • Állítsa a Alignment tulajdonság értékét Center (alapértelmezett) értékre, hogy a zöld tollal rajzolt képpontok középre legyenek állítva az elméleti vonalon. Az alábbi ábrán az eredményként kapott sor látható.

    Egy fekete vékony vonal zöld kiemeléssel.

    Az alábbi példakód kétszer rajzol egy téglalapot: egyszer egy 1 szélességű fekete tollal, egyszer pedig egy 10 szélességű zöld tollal.

    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)
    
    

Toll igazításának megváltoztatása

  • Állítsa a Alignment tulajdonság értékét Center, hogy a zöld tollal rajzolt képpontok középre legyenek állítva a téglalap határán.

    Az alábbi ábrán az eredményként kapott téglalap látható:

    Fekete, vékony vonalakkal, zöld kiemeléssel rajzolt téglalap.

    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)
    
    

Beszúrt toll létrehozása

  • Módosítsa a zöld toll igazítását az előző kód példájában szereplő harmadik utasítás módosításával az alábbiak szerint:

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

    Most a széles zöld vonalban lévő képpontok a téglalap belsejében jelennek meg az alábbi ábrán látható módon:

    Egy fekete vonalakkal rajzolt téglalap, benne a széles zöld vonallal.

Lásd még