CustomLineCap Clase

Definición

Encapsula un límite de línea definido por el usuario personalizado.

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
Herencia
CustomLineCap
Derivado
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo usar la CustomLineCap clase . Para ejecutar este ejemplo, pegue el código en un formulario Windows. Controle el evento del Paint formulario y llame DrawCaps desde el método de control de eventos del Paint formulario, pasando e como 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

Comentarios

Los límites de línea se usan al principio y los extremos de las líneas o curvas dibujadas por objetos GDI+ Pen . GDI+ admite varios estilos de límite predefinidos y también permite a los usuarios definir sus propios estilos de límite. Esta clase se usa para crear estilos de límite personalizados.

Note

En .NET 6 y versiones posteriores, el paquete System.Drawing.Common, que incluye este tipo, solo se admite en sistemas operativos Windows. El uso de este tipo en aplicaciones multiplataforma provoca advertencias en tiempo de compilación y excepciones en tiempo de ejecución. Para obtener más información, consulte System.Drawing.Common only supported on Windows (Solo se admite System.Drawing.Common en Windows).

Constructores

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

Inicializa una nueva instancia de la CustomLineCap clase a partir de la enumeración existente LineCap especificada con el esquema, el relleno y el conjunto especificados.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Inicializa una nueva instancia de la CustomLineCap clase a partir de la enumeración existente LineCap especificada con el contorno y el relleno especificados.

CustomLineCap(GraphicsPath, GraphicsPath)

Inicializa una nueva instancia de la CustomLineCap clase con el esquema y el relleno especificados.

Propiedades

Nombre Description
BaseCap

Obtiene o establece la enumeración en la LineCap que se basa.CustomLineCap

BaseInset

Obtiene o establece la distancia entre el límite y la línea.

StrokeJoin

Obtiene o establece la LineJoin enumeración que determina cómo se combinan las líneas que componen este CustomLineCap objeto.

WidthScale

Obtiene o establece la cantidad por la que se va a escalar este CustomLineCap objeto Class con respecto al ancho del Pen objeto.

Métodos

Nombre Description
Clone()

Crea una copia exacta de este CustomLineCapobjeto .

CreateObjRef(Type)

Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos utilizados por este objeto CustomLineCap.

Dispose(Boolean)

Libera los recursos no administrados utilizados por CustomLineCap y, opcionalmente, libera los recursos administrados.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
Finalize()

CustomLineCap Permite intentar liberar recursos y realizar otras operaciones de limpieza antes de que la CustomLineCap recolección de elementos no utilizados la recupere.

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Obtiene los límites usados para iniciar y finalizar líneas que componen este límite personalizado.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto actual MarshalByRefObject .

(Heredado de MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Establece los límites usados para iniciar y finalizar líneas que componen este límite personalizado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a