CustomLineCap クラス
アセンブリ: System.Drawing (system.drawing.dll 内)

Public Class CustomLineCap Inherits MarshalByRefObject Implements ICloneable, IDisposable
public class CustomLineCap : MarshalByRefObject, ICloneable, IDisposable
public class CustomLineCap extends MarshalByRefObject implements ICloneable, IDisposable
public class CustomLineCap extends MarshalByRefObject implements ICloneable, IDisposable

ライン キャップは、GDI+ Pen オブジェクトで描画された直線または曲線の最初と最後で使用されます。GDI+ はいくつかの定義済みキャップ スタイルをサポートし、ユーザーが自分でキャップ スタイルを定義することもできます。このクラスは、カスタム キャップ スタイルの作成に使用されます。

CustomLineCap クラスを使用する方法を次の例に示します。この例を実行するには、コードを Windows フォームに貼り付けます。フォームの Paint イベントを処理して DrawCaps を呼び出します。このとき、フォームの Paint イベント処理メソッドで、e を PaintEventArgs として渡します。
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
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); }

System.MarshalByRefObject
System.Drawing.Drawing2D.CustomLineCap
System.Drawing.Drawing2D.AdjustableArrowCap


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CustomLineCap コンストラクタ (GraphicsPath, GraphicsPath, LineCap)
アセンブリ: System.Drawing (system.drawing.dll 内)

Dim fillPath As GraphicsPath Dim strokePath As GraphicsPath Dim baseCap As LineCap Dim instance As New CustomLineCap(fillPath, strokePath, baseCap)
public function CustomLineCap ( fillPath : GraphicsPath, strokePath : GraphicsPath, baseCap : LineCap )

CustomLineCap は、操作に対して指定されている塗りつぶしモードに関係なく、"winding" 塗りつぶしモードを使用します。
fillPath パラメータと strokePath パラメータは、同時には使用できません。いずれかのパラメータには null 値を渡す必要があります。いずれのパラメータにも null 値が渡されない場合は、fillPath が無視されます。strokePath が null 参照 (Visual Basic では Nothing) の場合、fillPath は負の y 軸を受け取る必要があります。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CustomLineCap コンストラクタ (GraphicsPath, GraphicsPath)
アセンブリ: System.Drawing (system.drawing.dll 内)

Dim fillPath As GraphicsPath Dim strokePath As GraphicsPath Dim instance As New CustomLineCap(fillPath, strokePath)

CustomLineCap は、操作に対して指定されている塗りつぶしモードに関係なく、"winding" 塗りつぶしモードを使用します。
fillPath パラメータと strokePath パラメータは、同時には使用できません。いずれかのパラメータには null 値を渡す必要があります。いずれのパラメータにも null 値が渡されない場合は、fillPath が無視されます。strokePath が null 参照 (Visual Basic では Nothing) の場合、fillPath は負の y 軸を受け取る必要があります。

CustomLineCap コンストラクタを使用する方法を次の例に示します。この例を実行するには、コードを Windows フォームに貼り付けます。フォームの Paint イベントを処理して DrawCaps を呼び出します。このとき、フォームの Paint イベント処理メソッドで、e を PaintEventArgs として渡します。
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
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); }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CustomLineCap コンストラクタ

名前 | 説明 |
---|---|
CustomLineCap (GraphicsPath, GraphicsPath) | 指定したアウトラインと塗りつぶしを使用して、CustomLineCap クラスの新しいインスタンスを初期化します。 |
CustomLineCap (GraphicsPath, GraphicsPath, LineCap) | 指定したアウトラインと塗りつぶしを使用して、指定した既存の LineCap 列挙体から CustomLineCap クラスの新しいインスタンスを初期化します。 |
CustomLineCap (GraphicsPath, GraphicsPath, LineCap, Single) | 指定したアウトライン、塗りつぶし、およびくぼみを使用して、指定した既存の LineCap 列挙体から CustomLineCap クラスの新しいインスタンスを初期化します。 |

CustomLineCap コンストラクタ (GraphicsPath, GraphicsPath, LineCap, Single)
アセンブリ: System.Drawing (system.drawing.dll 内)

Public Sub New ( _ fillPath As GraphicsPath, _ strokePath As GraphicsPath, _ baseCap As LineCap, _ baseInset As Single _ )
Dim fillPath As GraphicsPath Dim strokePath As GraphicsPath Dim baseCap As LineCap Dim baseInset As Single Dim instance As New CustomLineCap(fillPath, strokePath, baseCap, baseInset)
public CustomLineCap ( GraphicsPath fillPath, GraphicsPath strokePath, LineCap baseCap, float baseInset )
public: CustomLineCap ( GraphicsPath^ fillPath, GraphicsPath^ strokePath, LineCap baseCap, float baseInset )
public CustomLineCap ( GraphicsPath fillPath, GraphicsPath strokePath, LineCap baseCap, float baseInset )
public function CustomLineCap ( fillPath : GraphicsPath, strokePath : GraphicsPath, baseCap : LineCap, baseInset : float )

CustomLineCap は、操作に対して指定されている塗りつぶしモードに関係なく、"winding" 塗りつぶしモードを使用します。
fillPath パラメータと strokePath パラメータは、同時には使用できません。いずれかのパラメータには null 値を渡す必要があります。いずれのパラメータにも null 値が渡されない場合は、fillPath が無視されます。strokePath が null 参照 (Visual Basic では Nothing) の場合、fillPath は負の y 軸を受け取る必要があります。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CustomLineCap プロパティ

名前 | 説明 | |
---|---|---|
![]() | BaseCap | この CustomLineCap の基になっている LineCap 列挙体を取得または設定します。 |
![]() | BaseInset | キャップと直線との距離を取得または設定します。 |
![]() | StrokeJoin | この CustomLineCap オブジェクトを構成する直線の接合方法を決定する、LineJoin 列挙体を取得または設定します。 |
![]() | WidthScale | Pen オブジェクトの幅に対応した、この CustomLineCap クラス オブジェクトのスケーリングの量を取得または設定します。 |

CustomLineCap メソッド

名前 | 説明 | |
---|---|---|
![]() | Clone | 対象の CustomLineCap の同一コピーを作成します。 |
![]() | CreateObjRef | リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 ( MarshalByRefObject から継承されます。) |
![]() | Dispose | オーバーロードされます。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetLifetimeService | 対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。) |
![]() | GetStrokeCaps | このカスタム キャップを構成する直線の開始と終了に使用するキャップを取得します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | InitializeLifetimeService | 対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | SetStrokeCaps | 直線の開始と終了に使用する、このカスタム キャップを構成するキャップを設定します。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 |
![]() | Finalize | オーバーライドされます。 |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |

CustomLineCap メンバ
ユーザー定義のカスタム ライン キャップをカプセル化します。
CustomLineCap データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | BaseCap | この CustomLineCap の基になっている LineCap 列挙体を取得または設定します。 |
![]() | BaseInset | キャップと直線との距離を取得または設定します。 |
![]() | StrokeJoin | この CustomLineCap オブジェクトを構成する直線の接合方法を決定する、LineJoin 列挙体を取得または設定します。 |
![]() | WidthScale | Pen オブジェクトの幅に対応した、この CustomLineCap クラス オブジェクトのスケーリングの量を取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | Clone | 対象の CustomLineCap の同一コピーを作成します。 |
![]() | CreateObjRef | リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。) |
![]() | Dispose | オーバーロードされます。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetLifetimeService | 対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。) |
![]() | GetStrokeCaps | このカスタム キャップを構成する直線の開始と終了に使用するキャップを取得します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | InitializeLifetimeService | 対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | SetStrokeCaps | 直線の開始と終了に使用する、このカスタム キャップを構成するキャップを設定します。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 |
![]() | Finalize | オーバーライドされます。 |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |

- CustomLineCapのページへのリンク