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 フォームに貼り付けます。 フォームのイベントを処理し、フォームのPaintイベント処理メソッドから を呼び出しDrawCaps、 としてPaintEventArgs渡しますePaint


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 オペレーティング システムでのみサポートされています。 クロスプラットフォーム アプリでこの型を使用すると、コンパイル時の警告と実行時の例外が発生します。 詳細については、「 Windows でのみサポートされる System.Drawing.Common」を参照してください。

コンストラクター

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)

適用対象