Поделиться через


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 Forms. Обработка события формы Paint и вызов DrawCaps из метода обработки событий формы 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+ поддерживает несколько стандартных стилей ограничения, а также позволяет пользователям определять собственные стили ограничения. Этот класс используется для создания настраиваемых стилей ограничения.

Примечание

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

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

CustomLineCap(GraphicsPath, GraphicsPath)

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

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

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

CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

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

Свойства

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)

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