CustomLineCap Classe

Definição

Encapsula um limite de linha personalizado definido pelo usuário.

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
Herança
CustomLineCap
Derivado
Implementações

Exemplos

O exemplo a seguir demonstra como usar a CustomLineCap classe. Para executar este exemplo, cole o código em um formulário Windows. Manipule o evento do Paint formulário e chame DrawCaps do método de tratamento de eventos do Paint formulário, passando 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

Comentários

As tampas de linha são usadas no início e nas extremidades de linhas ou curvas desenhadas por objetos GDI+ Pen . O GDI+ dá suporte a vários estilos de limite predefinidos e também permite que os usuários definam seus próprios estilos de limite. Essa classe é usada para criar estilos de limite personalizados.

Note

No .NET 6 e versões posteriores, o pacote System.Drawing.Common, que inclui esse tipo, só tem suporte em sistemas operacionais Windows. O uso desse tipo em aplicativos multiplataforma causa avisos de tempo de compilação e exceções em tempo de execução. Para obter mais informações, consulte System.Drawing.Common com suporte apenas no Windows.

Construtores

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

Inicializa uma nova instância da classe da CustomLineCap enumeração existente LineCap especificada com a estrutura de tópicos, o preenchimento e o conjunto especificados.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Inicializa uma nova instância da classe da CustomLineCap enumeração existente LineCap especificada com a estrutura de tópicos e o preenchimento especificados.

CustomLineCap(GraphicsPath, GraphicsPath)

Inicializa uma nova instância da CustomLineCap classe com a estrutura de tópicos e o preenchimento especificados.

Propriedades

Nome Description
BaseCap

Obtém ou define a LineCap enumeração na qual isso CustomLineCap se baseia.

BaseInset

Obtém ou define a distância entre a tampa e a linha.

StrokeJoin

Obtém ou define a LineJoin enumeração que determina como as linhas que compõem esse CustomLineCap objeto são unidas.

WidthScale

Obtém ou define a quantidade pela qual dimensionar esse CustomLineCap objeto Class em relação à largura do Pen objeto.

Métodos

Nome Description
Clone()

Cria uma cópia exata disso CustomLineCap.

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados por este objeto CustomLineCap.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo CustomLineCap e, opcionalmente, libera os recursos gerenciados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

CustomLineCap Permite tentar liberar recursos e executar outras operações de limpeza antes que ela CustomLineCap seja recuperada pela coleta de lixo.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Obtém as tampas usadas para iniciar e encerrar linhas que compõem essa tampa personalizada.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Define as tampas usadas para iniciar e encerrar linhas que compõem esse limite personalizado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a