CustomLineCap Класс

Определение

Инкапсулирует определяемое пользователем завершение отрезка.Encapsulates a custom user-defined line cap.

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
Наследование
CustomLineCap
Производный
Реализации

Примеры

В следующем примере показано, как использовать класс CustomLineCap.The following example demonstrates how to use the CustomLineCap class. Чтобы выполнить этот пример, вставьте код в форму Windows Forms.To run this example paste, the code into a Windows Form. Обработайте Paint событие формы и вызов DrawCaps из Paint метода обработки событий формы, передав его e как PaintEventArgs .Handle the form's Paint event and call DrawCaps from the form's Paint event-handling method, passing e as 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

Комментарии

Концы строк используются в начале и конце линий или кривых, рисуемых Pen объектами GDI+.Line caps are used at the beginnings and ends of lines or curves drawn by GDI+ Pen objects. Интерфейс GDI+ поддерживает несколько стандартных стилей ограничения, а также позволяет пользователям определять собственные стили Cap.GDI+ supports several predefined cap styles, and also allows users to define their own cap styles. Этот класс используется для создания пользовательских стилей крепления.This class is used to create custom cap styles.

Конструкторы

CustomLineCap(GraphicsPath, GraphicsPath)

Инициализирует новый экземпляр класса CustomLineCap с заданными контуром и заполнением.Initializes a new instance of the CustomLineCap class with the specified outline and fill.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Инициализирует новый экземпляр класса CustomLineCap из указанного существующего перечисления LineCap с заданными контуром и заполнением.Initializes a new instance of the CustomLineCap class from the specified existing LineCap enumeration with the specified outline and fill.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

Инициализирует новый экземпляр класса CustomLineCap из указанного существующего перечисления LineCap с определенным контуром, заполнением и углублением.Initializes a new instance of the CustomLineCap class from the specified existing LineCap enumeration with the specified outline, fill, and inset.

Свойства

BaseCap

Получает или задает перечисление LineCap, на котором основан этот объект CustomLineCap.Gets or sets the LineCap enumeration on which this CustomLineCap is based.

BaseInset

Получает или задает расстояние между отрезком и его завершением.Gets or sets the distance between the cap and the line.

StrokeJoin

Получает или задает перечисление LineJoin, определяющее, как соединены отрезки, составляющие данный объект CustomLineCap.Gets or sets the LineJoin enumeration that determines how lines that compose this CustomLineCap object are joined.

WidthScale

Получает или задает величину, на которую масштабируется данный объект класса CustomLineCap по отношению к ширине объекта Pen.Gets or sets the amount by which to scale this CustomLineCap Class object with respect to the width of the Pen object.

Методы

Clone()

Создает точную копию данного объекта CustomLineCap.Creates an exact copy of this CustomLineCap.

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, используемые этим объектом CustomLineCap.Releases all resources used by this CustomLineCap object.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом CustomLineCap, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the CustomLineCap and optionally releases the managed resources.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
Finalize()

Позволяет объекту CustomLineCap попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект CustomLineCap будет утилизирован в процессе сборки мусора.Allows an CustomLineCap to attempt to free resources and perform other cleanup operations before the CustomLineCap is reclaimed by garbage collection.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetLifetimeService()
Является устаревшей.

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Получает завершения, используемые для начала и конца линий, составляющих данное пользовательское завершение отрезка.Gets the caps used to start and end lines that make up this custom cap.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
InitializeLifetimeService()
Является устаревшей.

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Унаследовано от MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Задает завершения, используемые для начала и конца линий, составляющих данное пользовательское завершение отрезка.Sets the caps used to start and end lines that make up this custom cap.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к