CustomLineCap Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Kapselt eine benutzerdefinierte benutzerdefinierte Linienkappe.
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
- Abgeleitet
- Implementiert
Beispiele
Im folgenden Beispiel wird die Verwendung der CustomLineCap Klasse veranschaulicht. Zum Ausführen dieses Beispiels fügen Sie den Code in ein Windows Formular ein. Behandeln Sie das Ereignis des Formulars Paint und den Aufruf DrawCaps aus der Ereignisbehandlungsmethode des Formulars Paint , und übergeben Sie es als ePaintEventArgs.
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 Anfangen und Enden von Linien oder Kurven verwendet, die von GDI+ Pen -Objekten gezeichnet werden. GDI+ unterstützt mehrere vordefinierte Kapitälchenarten und ermöglicht es Benutzern auch, ihre eigenen Kapitälchenformate zu definieren. Diese Klasse wird verwendet, um benutzerdefinierte Großbuchstaben zu erstellen.
Note
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 Kompilierungszeitwarnungen und Laufzeit-Ausnahmen. Weitere Informationen finden Sie unter System.Drawing.Common wird nur unter Windows unterstützt.
Konstruktoren
| Name | Beschreibung |
|---|---|
| CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single) |
Initialisiert eine neue Instanz der CustomLineCap Klasse aus der angegebenen vorhandenen LineCap Enumeration mit der angegebenen Gliederung, Füllung und Menge. |
| CustomLineCap(GraphicsPath, GraphicsPath, LineCap) |
Initialisiert eine neue Instanz der CustomLineCap Klasse aus der angegebenen vorhandenen LineCap Enumeration mit der angegebenen Gliederung und Füllung. |
| CustomLineCap(GraphicsPath, GraphicsPath) |
Initialisiert eine neue Instanz der CustomLineCap Klasse mit der angegebenen Gliederung und Füllung. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| BaseCap |
Ruft die Aufzählung ab, auf der LineCap dies basiert, oder legt sie CustomLineCap fest. |
| BaseInset |
Dient zum Abrufen oder Festlegen des Abstands zwischen der Kappe und der Linie. |
| StrokeJoin |
Dient zum Abrufen oder Festlegen der LineJoin Aufzählung, die bestimmt, wie Zeilen, die dieses CustomLineCap Objekt verfassen, verknüpft werden. |
| WidthScale |
Ruft den Betrag ab, um den dieses CustomLineCap Class -Objekt in Bezug auf die Breite des Pen Objekts skaliert werden soll, oder legt diesen fest. |
Methoden
| Name | Beschreibung |
|---|---|
| Clone() |
Erstellt eine genaue Kopie dieses CustomLineCapElements. |
| CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
| Dispose() |
Gibt alle von diesem CustomLineCap Objekt verwendeten Ressourcen frei. |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den CustomLineCap verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| Finalize() |
Ermöglicht es einem CustomLineCap Versuch, Ressourcen freizugeben und andere Bereinigungsvorgänge auszuführen, bevor die CustomLineCap Garbage Collection erneut beansprucht wird. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetLifetimeService() |
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
| GetStrokeCaps(LineCap, LineCap) |
Ruft die Feststelltaste ab, die zum Starten und Beenden von Zeilen verwendet werden, aus denen diese benutzerdefinierte Obergrenze besteht. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InitializeLifetimeService() |
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (Geerbt von MarshalByRefObject) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts. (Geerbt von MarshalByRefObject) |
| SetStrokeCaps(LineCap, LineCap) |
Legt die Feststelltaste fest, die zum Start- und Endzeilen verwendet werden, aus denen diese benutzerdefinierte Obergrenze besteht. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |