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 класс. Для выполнения этого примера вставьте код в форму 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) |