CustomLineCap Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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) |