CustomLineCap Klass

Definition

Kapslar in ett anpassat användardefinierat linjetak.

public ref class CustomLineCap : MarshalByRefObject, ICloneable, IDisposable
public class CustomLineCap : MarshalByRefObject, ICloneable, IDisposable
type CustomLineCap = class
    inherit MarshalByRefObject
    interface ICloneable
    interface IDisposable
Public Class CustomLineCap
Inherits MarshalByRefObject
Implements ICloneable, IDisposable
Arv
CustomLineCap
Härledda
Implementeringar

Exempel

I följande exempel visas hur du CustomLineCap använder klassen. Om du vill köra det här exemplet klistrar du in koden i ett Windows formulär. Hantera formulärets Paint händelse och anropa DrawCaps från formulärets Paint händelsehanteringsmetod och skicka e som PaintEventArgs.


protected void DrawCaps(PaintEventArgs e)
{
    GraphicsPath hPath = new GraphicsPath();

    // Create the outline for our custom end cap.
    hPath.AddLine(new Point(0, 0), new Point(0, 5));
    hPath.AddLine(new Point(0, 5), new Point(5, 1));
    hPath.AddLine(new Point(5, 1), new Point(3, 1));

    // Construct the hook-shaped end cap.
    CustomLineCap HookCap = new CustomLineCap(null, hPath);

    // Set the start cap and end cap of the HookCap to be rounded.
    HookCap.SetStrokeCaps(LineCap.Round, LineCap.Round);

    // Create a pen and set end custom start and end
    // caps to the hook cap.
    Pen customCapPen = new Pen(Color.Black, 5);
    customCapPen.CustomStartCap = HookCap;
    customCapPen.CustomEndCap = HookCap;

    // Create a second pen using the start and end caps from
    // the hook cap.
    Pen capPen = new Pen(Color.Red, 10);
    LineCap startCap;
    LineCap endCap;
    HookCap.GetStrokeCaps(out startCap, out endCap);
    capPen.StartCap = startCap;
    capPen.EndCap = endCap;

    // Create a line to draw.
    Point[] points = { new Point(100, 100), new Point(200, 50), 
        new Point(250, 300) };

    // Draw the lines.
    e.Graphics.DrawLines(capPen, points);
    e.Graphics.DrawLines(customCapPen, points);
}
Protected Sub DrawCaps(ByVal e As PaintEventArgs)
    Dim hPath As New GraphicsPath()

    ' Create the outline for our custom end cap.
    hPath.AddLine(New Point(0, 0), New Point(0, 5))
    hPath.AddLine(New Point(0, 5), New Point(5, 1))
    hPath.AddLine(New Point(5, 1), New Point(3, 1))

    ' Construct the hook-shaped end cap.
    Dim HookCap As New CustomLineCap(Nothing, hPath)

    ' Set the start cap and end cap of the HookCap to be rounded.
    HookCap.SetStrokeCaps(LineCap.Round, LineCap.Round)

    ' Create a pen and set end custom start and end
    ' caps to the hook cap.
    Dim customCapPen As New Pen(Color.Black, 5)
    customCapPen.CustomStartCap = HookCap
    customCapPen.CustomEndCap = HookCap

    ' Create a second pen using the start and end caps from
    ' the hook cap.
    Dim capPen As New Pen(Color.Red, 10)
    Dim startCap As LineCap
    Dim endCap As LineCap
    HookCap.GetStrokeCaps(startCap, endCap)
    capPen.StartCap = startCap
    capPen.EndCap = endCap

    ' Create a line to draw.
    Dim points As Point() = {New Point(100, 100), New Point(200, 50), _
        New Point(250, 300)}

    ' Draw the lines.
    e.Graphics.DrawLines(capPen, points)
    e.Graphics.DrawLines(customCapPen, points)

End Sub

Kommentarer

Linjemössor används i början och ändarna av linjer eller kurvor som ritas av GDI+ Pen -objekt. GDI+ har stöd för flera fördefinierade cap-format och tillåter även användare att definiera sina egna cap-format. Den här klassen används för att skapa anpassade kapsylformat.

Note

I .NET 6 och senare versioner stöds endast System.Drawing.Common-paketet, som innehåller den här typen, på Windows-operativsystem. Användning av den här typen i plattformsoberoende appar orsakar kompileringstidsvarningar och körningsfel. Mer information finns i System.Drawing.Common som endast stöds i Windows.

Konstruktorer

Name Description
CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

Initierar en ny instans av CustomLineCap klassen från den angivna befintliga LineCap uppräkningen med den angivna dispositionen, fyllningen och inmängden.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Initierar en ny instans av CustomLineCap klassen från den angivna befintliga LineCap uppräkningen med den angivna dispositionen och fyllningen.

CustomLineCap(GraphicsPath, GraphicsPath)

Initierar en ny instans av CustomLineCap klassen med den angivna konturen och fyllningen.

Egenskaper

Name Description
BaseCap

Hämtar eller anger den LineCap uppräkning som detta CustomLineCap baseras på.

BaseInset

Hämtar eller anger avståndet mellan locket och linjen.

StrokeJoin

Hämtar eller anger den LineJoin uppräkning som avgör hur rader som utgör det här CustomLineCap objektet kopplas.

WidthScale

Hämtar eller anger hur mycket objektet ska skalas CustomLineCap med avseende på objektets Pen bredd.

Metoder

Name Description
Clone()

Skapar en exakt kopia av den här CustomLineCap.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Frigör alla resurser som används av det här CustomLineCap objektet.

Dispose(Boolean)

Släpper de ohanterade resurser som används av CustomLineCap och släpper eventuellt de hanterade resurserna.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Finalize()

Tillåter ett CustomLineCap försök att frigöra resurser och utföra andra rensningsåtgärder innan CustomLineCap den frigörs av skräpinsamlingen.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Hämtar de kepsar som används för att starta och avsluta linjer som utgör den här anpassade gränsen.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Anger de versaler som används för att starta och avsluta linjer som utgör det här anpassade taket.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för