次の方法で共有


CustomLineCap.GetStrokeCaps メソッド

このカスタム キャップを構成する直線の開始と終了に使用するキャップを取得します。

Public Sub GetStrokeCaps( _
   <Out()> ByRef startCap As LineCap, _   <Out()> ByRef endCap As LineCap _)
[C#]
public void GetStrokeCaps(   out LineCapstartCap,   out LineCapendCap);
[C++]
public: void GetStrokeCaps(   [   Out] LineCap* startCap,   [   Out] LineCap* endCap);
[JScript]
public function GetStrokeCaps(
   startCap : LineCap,endCap : LineCap);

パラメータ

  • startCap
    このキャップ内で直線の開始点で使用される LineCap 列挙体。
  • endCap
    このキャップ内で直線の終了点に使用される LineCap 列挙体。

使用例

[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 OnPaint イベントのオブジェクトである PaintEventArgs e が必要です。このコードは次のアクションを実行します。

  • GraphicsPath オブジェクトを使用して、カスタム ライン キャップ capPath を作成します。
  • capPath にストローク キャップ (三角形および円形) を追加します。
  • GetStrokeCaps メソッドを使用してストローク キャップを取得します。
  • startStrokeCap パラメータおよび endStrokeCap パラメータを使用して、ペンを設定します。
  • ペンを使用してストローク キャップが付いた直線を描画します。

[Visual Basic, C#] 直線は、一方の端が矢印になり、もう一方が円形になります。

 
Public Sub GetStrokeCapsExample(e As PaintEventArgs)
' Create a Path and add two lines to it,
' forming a custom line cap.
Dim points As Point() =  {New Point(- 2, - 2), New Point(0, 0), _
New Point(2, - 2)}
Dim capPath As New GraphicsPath()
capPath.AddLines(points)
' Create a CustomLineCap object.
Dim custCap As New CustomLineCap(Nothing, capPath)
' Set the start and end stroke caps for custCap.
custCap.SetStrokeCaps(LineCap.Triangle, LineCap.Round)
' Retrieve the start and end stroke caps from custCap.
Dim startStrokeCap As New LineCap()
Dim endStrokeCap As New LineCap()
custCap.GetStrokeCaps(startStrokeCap, endStrokeCap)
' Draw a new line that uses the stroke caps retrieved from custCap.
Dim strokeCapPen As New Pen(Color.Black, 15)
strokeCapPen.StartCap = startStrokeCap
strokeCapPen.EndCap = endStrokeCap
e.Graphics.DrawLine(strokeCapPen, New Point(100, 100), _
New Point(300, 100))
End Sub
        
[C#] 
private void GetStrokeCapsExample(PaintEventArgs e)
{
// Create a Path and add two lines to it,
// forming a custom line cap.
Point[] points =
{
new Point(-2, -2),
new Point(0, 0),
new Point(2, -2)
};
GraphicsPath capPath = new GraphicsPath();
capPath.AddLines(points);
// Create a CustomLineCap object.
CustomLineCap custCap = new CustomLineCap(null, capPath);
// Set the start and end stroke caps for custCap.
custCap.SetStrokeCaps(LineCap.Triangle, LineCap.Round);
// Retrieve the start and end stroke caps from custCap.
LineCap startStrokeCap = new LineCap();
LineCap endStrokeCap = new LineCap();
custCap.GetStrokeCaps(out startStrokeCap, out endStrokeCap);
// Draw a  new line that uses the stroke caps retrieved from
// custCap.
Pen strokeCapPen = new Pen(Color.Black, 15);
strokeCapPen.StartCap = startStrokeCap;
strokeCapPen.EndCap = endStrokeCap;
e.Graphics.DrawLine(strokeCapPen,
new Point(100, 100),
new Point(300, 100));
}
        

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

CustomLineCap クラス | CustomLineCap メンバ | System.Drawing.Drawing2D 名前空間