CustomLineCap Classe

Definição

Encapsula um limite de linha personalizado definido pelo utilizador.

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 seguinte demonstra como usar a CustomLineCap classe. Para executar este exemplo, colar o código num Windows Form. Trate do evento e da chamada DrawCaps do Paint formulário a partir do método de gestão de Paint eventos do 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

Observações

As capas de linha são usadas no início e no fim de linhas ou curvas desenhadas por objetos GDI+ Pen . O GDI+ suporta vários estilos de teto pré-definidos e também permite aos utilizadores definir os seus próprios estilos de cap. Esta classe é usada para criar estilos personalizados de tampas.

Note

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

Construtores

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

Inicializa uma nova instância da CustomLineCap classe a partir da enumeração existente LineCap especificada com o contorno, preenchimento e inserção especificados.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Inicializa uma nova instância da CustomLineCap classe a partir da enumeração existente LineCap especificada com o contorno e preenchimento especificados.

CustomLineCap(GraphicsPath, GraphicsPath)

Inicializa uma nova instância da CustomLineCap classe com o contorno e preenchimento especificados.

Propriedades

Name Description
BaseCap

Obtém ou define a LineCap enumeração em que isto 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 este CustomLineCap objeto são unidas.

WidthScale

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

Métodos

Name Description
Clone()

Cria uma cópia exata deste CustomLineCap.

CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Liberta todos os recursos utilizados por este CustomLineCap objeto.

Dispose(Boolean)

Liberta os recursos não geridos usados pelo CustomLineCap e opcionalmente liberta os recursos geridos.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Permite CustomLineCap tentar libertar recursos e realizar outras operações de limpeza antes de ser CustomLineCap recuperado por recolha de lixo.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Usa as tampas para começar e terminar as linhas que compõem esta tampa personalizada.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(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 começar e terminar as linhas que compõem esta tampa personalizada.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a