Freigeben über


CustomLineCap Klasse

Definition

Kapselt ein benutzerdefiniertes Linienende ein.

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
Vererbung
CustomLineCap
Abgeleitet
Implementiert

Beispiele

Im folgenden Beispiel wird die Verwendung der CustomLineCap-Klasse veranschaulicht. Um dieses Beispiel auszuführen, fügen Sie den Code in ein Windows Form ein. Behandeln Sie das Ereignis des Formulars Paint und den Aufruf DrawCaps von der Ereignisbehandlungsmethode des FormularsPaint, indem Sie als PaintEventArgsübergebene.


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

Hinweise

Linienkappen werden an den Anfangs- und Enden von Linien oder Kurven verwendet, die von GDI+ Pen -Objekten gezeichnet wurden. GDI+ unterstützt mehrere vordefinierte Cap-Stile und ermöglicht es Benutzern auch, ihre eigenen Cap-Stile zu definieren. Diese Klasse wird verwendet, um benutzerdefinierte Obergrenzenstile zu erstellen.

Hinweis

In .NET 6 und höheren Versionen wird das System.Drawing.Common-Paket, das diesen Typ enthält, nur unter Windows-Betriebssystemen unterstützt. Die Verwendung dieses Typs in plattformübergreifenden Apps führt zu Kompilierzeitwarnungen und Laufzeitausnahmen. Weitere Informationen finden Sie unter System.Drawing.Common wird nur unter Windows unterstützt.

Konstruktoren

CustomLineCap(GraphicsPath, GraphicsPath)

Initialisiert eine neue Instanz der CustomLineCap-Klasse mit dem angegebenen Umriss und der angegebenen Füllung.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Initialisiert aus der angegebenen vorhandenen CustomLineCap-Enumeration eine neue Instanz der LineCap-Klasse mit dem angegebenen Umriss und der angegebenen Füllung.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

Initialisiert aus der angegebenen vorhandenen CustomLineCap-Enumeration eine neue Instanz der LineCap-Klasse mit dem angegebenen Umriss, der angegebenen Füllung und der angegebenen Absenkung.

Eigenschaften

BaseCap

Ruft die LineCap-Enumeration ab, auf der dieses CustomLineCap basiert, oder legt diese fest.

BaseInset

Ruft den Abstand zwischen dem Ende und der Linie ab oder legt diesen fest.

StrokeJoin

Ruft die LineJoin-Enumeration ab, die bestimmt, wie die Linien miteinander verbunden werden, aus denen dieses CustomLineCap-Objekt besteht.

WidthScale

Ruft den Betrag ab, um den dieses Objekt der CustomLineCap-Klasse in Bezug auf die Breite des Pen-Objekts skaliert wird, oder legt diesen fest.

Methoden

Clone()

Erstellt eine genaue Kopie von dieser CustomLineCap.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle von diesem CustomLineCap-Objekt verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von CustomLineCap verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Gibt einem CustomLineCap Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor das CustomLineCap von der Garbage Collection freigegeben wird.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Ruft die Enden für Linienanfang und -ende dieses benutzerdefinierten Endes ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Legt die Enden für Linienanfang und -ende dieses benutzerdefinierten Endes fest.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: