CustomLineCap Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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) |