Partilhar via


CustomLineCap Classe

Definição

Encapsula uma terminação de linha personalizada definida 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 do 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 nos inícios e 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.

Observação

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

CustomLineCap(GraphicsPath, GraphicsPath)

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

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

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

CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

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

Propriedades

BaseCap

Obtém ou define a enumeração LineCap em que esse CustomLineCap se baseia.

BaseInset

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

StrokeJoin

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

WidthScale

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

Métodos

Clone()

Cria uma cópia exata deste 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 esse 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()

Permite que um CustomLineCap tente liberar recursos e executar outras operações de limpeza antes que CustomLineCap seja recuperado 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 ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Obtém os limites usados para iniciar e encerrar as linhas que compõem esse limite personalizado.

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 para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Define os limites usados para iniciar e encerrar as linhas que compõem esse limite personalizado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a