CustomLineCap Класс

Определение

Инкапсулирует настраиваемую пользовательскую крышку строки.

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 класс. Для выполнения этого примера вставьте код в форму Windows. Обработка события формы и вызов из метода обработки событий формы PaintDrawCaps, передаваемого Paint как e.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

Комментарии

Крышки линий используются в началах и концах линий или кривых, нарисованных объектами GDI+ Pen . GDI+ поддерживает несколько стандартных стилей крышки, а также позволяет пользователям определять собственные стили крышки. Этот класс используется для создания пользовательских стилей крышки.

Note

В .NET 6 и более поздних версиях пакет System.Drawing.Common, который включает этот тип, поддерживается только в операционных системах Windows. Использование этого типа в кроссплатформенных приложениях вызывает предупреждения во время компиляции и исключения во время выполнения. Дополнительные сведения см. в статье System.Drawing.Common, поддерживаемой только в Windows.

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

Имя Описание
CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

Инициализирует новый экземпляр класса из указанного существующего CustomLineCapLineCap перечисления с указанным контуром, заливкой и набором.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Инициализирует новый экземпляр класса из указанного существующего CustomLineCapLineCap перечисления с указанным контуром и заливкой.

CustomLineCap(GraphicsPath, GraphicsPath)

Инициализирует новый экземпляр CustomLineCap класса с указанным контуром и заливкой.

Свойства

Имя Описание
BaseCap

Возвращает или задает перечисление LineCap , на котором она CustomLineCap основана.

BaseInset

Возвращает или задает расстояние между крышкой и линией.

StrokeJoin

Возвращает или задает перечисление, определяющее LineJoin , как объединяются строки, составляющие этот CustomLineCap объект.

WidthScale

Возвращает или задает объем, по которому масштабируется этот CustomLineCap объект класса относительно ширины Pen объекта.

Методы

Имя Описание
Clone()

Создает точную копию этого CustomLineCapобъекта.

CreateObjRef(Type)

Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

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

Освобождает все ресурсы, используемые этим объектом CustomLineCap.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые CustomLineCap и при необходимости освобождает управляемые ресурсы.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

CustomLineCap Позволяет пытаться освободить ресурсы и выполнять другие операции очистки перед CustomLineCap восстановлением сборки мусора.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра.

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

Возвращает крышки, используемые для запуска и окончания строк, составляющих эту настраиваемую крышку.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

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

Создает неглубокую копию текущей Object.

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

Создает неглубокую копию текущего MarshalByRefObject объекта.

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

Задает крышки, используемые для запуска и окончания строк, составляющих эту настраиваемую крышку.

ToString()

Возвращает строку, представляющую текущий объект.

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

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