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 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
- 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) |