CustomLineCap Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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) |