CustomLineCap Clase

Definición

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

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 siguiente ejemplo se muestra cómo utilizar la clase CustomLineCap. Para ejecutar este ejemplo, pegue el código en un formulario Windows Forms. 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 a los extremos de las líneas o curvas dibujadas por objetos GDI+ Pen . GDI+ admite varios estilos de mayúscula 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.

Nota

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(System.Drawing.Common only supported on Windows).

Constructores

CustomLineCap(GraphicsPath, GraphicsPath)

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

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

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

CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

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

Propiedades

BaseCap

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

BaseInset

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

StrokeJoin

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

WidthScale

Obtiene o establece la cantidad por la que se debe ajustar este objeto de la clase CustomLineCap en relación con el ancho del objeto Pen.

Métodos

Clone()

Crea una copia exacta de este objeto CustomLineCap.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado 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 que usa CustomLineCap y, de forma opcional, libera los recursos administrados.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Permite que un objeto CustomLineCap intente liberar recursos y realizar otras operaciones de limpieza antes de que el objeto CustomLineCap sea reclamado por la recolección de elementos no utilizados.

GetHashCode()

Sirve como la 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 extremos utilizados para iniciar y finalizar las líneas que forman este extremo 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 Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Establece los extremos utilizados para iniciar y finalizar las líneas que forman este extremo personalizado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a