Condividi tramite


CustomLineCap Classe

Definizione

Incapsula un delimitatore di linea personalizzato definito dall'utente.

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
Ereditarietà
CustomLineCap
Derivato
Implementazioni

Esempio

Nell'esempio riportato di seguito viene illustrato come utilizzare la classe CustomLineCap. Per eseguire questo esempio incollare il codice in un Windows Form. Gestire l'evento e la chiamata DrawCaps del Paint modulo dal metodo di gestione degli eventi del Paint modulo, passando e come 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

Commenti

I limiti di linea vengono usati all'inizio e alle estremità di linee o curve disegnate da oggetti GDI+ Pen . GDI+ supporta diversi stili di limite predefiniti e consente anche agli utenti di definire i propri stili di limite. Questa classe viene usata per creare stili di limite personalizzati.

Nota

In .NET 6 e versioni successive il pacchetto System.Drawing.Common, che include questo tipo, è supportato solo nei sistemi operativi Windows. L'uso di questo tipo nelle app multipiattaforma causa avvisi in fase di compilazione e eccezioni in fase di esecuzione. Per altre informazioni, vedere System.Drawing.Common supportato solo in Windows.

Costruttori

CustomLineCap(GraphicsPath, GraphicsPath)

Inizializza una nuova istanza della classe CustomLineCap con il contorno e il riempimento specificati.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Inizializza una nuova istanza della classe CustomLineCap dall'enumerazione LineCap esistente specificata con il contorno e il riempimento indicati.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

Inizializza una nuova istanza della classe CustomLineCap dall'enumerazione LineCap esistente specificata con il contorno, riempimento e interno indicati.

Proprietà

BaseCap

Ottiene o imposta l'enumerazione LineCap sulla quale si basa questo CustomLineCap.

BaseInset

Ottiene o imposta la distanza tra il delimitatore e la linea.

StrokeJoin

Ottiene o imposta l'enumerazione LineJoin che determina la modalità di unione delle linee che compongono questo oggetto CustomLineCap.

WidthScale

Ottiene o imposta il valore in base al quale modificare le proporzioni di questo oggetto della classe CustomLineCap rispetto alla larghezza dell'oggetto Pen.

Metodi

Clone()

Crea una copia esatta di questo CustomLineCap.

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate dall'oggetto CustomLineCap.

Dispose(Boolean)

Rilascia le risorse non gestite usate da CustomLineCap e, facoltativamente, le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Consente a un oggetto CustomLineCap di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto CustomLineCap stesso venga recuperato dalla procedura di Garbage Collection.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Ottiene i delimitatori utilizzati per iniziare e terminare le linee che compongono questo delimitatore personalizzato.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Imposta i delimitatori utilizzati per iniziare e terminare le linee che compongono questo delimitatore personalizzato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a