CustomLineCap クラス

定義

ユーザー定義のカスタム ライン キャップをカプセル化します。Encapsulates a custom user-defined line cap.

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 クラスを使用する方法を次の例に示します。The following example demonstrates how to use the CustomLineCap class. この例を実行するには、コードを Windows フォームに貼り付けます。To run this example paste, the code into a Windows Form. フォームのPaintイベントを処理し、 DrawCapsをとしてPaint渡しePaintEventArgs、フォームのイベント処理メソッドからを呼び出します。Handle the form's Paint event and call DrawCaps from the form's Paint event-handling method, passing e as 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オブジェクトによって描画された直線または曲線の始まりと終点で使用されます。Line caps are used at the beginnings and ends of lines or curves drawn by GDI+ Pen objects. GDI + では、いくつかの定義済みキャップスタイルがサポートされており、ユーザーが独自のキャップスタイルを定義することもできます。GDI+ supports several predefined cap styles, and also allows users to define their own cap styles. このクラスは、カスタムキャップスタイルを作成するために使用されます。This class is used to create custom cap styles.

コンストラクター

CustomLineCap(GraphicsPath, GraphicsPath)

指定したアウトラインと塗りつぶしを使用して、CustomLineCap クラスの新しいインスタンスを初期化します。Initializes a new instance of the CustomLineCap class with the specified outline and fill.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

指定したアウトラインと塗りつぶしを使用して、指定した既存の CustomLineCap 列挙体から LineCap クラスの新しいインスタンスを初期化します。Initializes a new instance of the CustomLineCap class from the specified existing LineCap enumeration with the specified outline and fill.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

指定したアウトライン、塗りつぶし、およびくぼみを使用して、指定した既存の CustomLineCap 列挙体から LineCap クラスの新しいインスタンスを初期化します。Initializes a new instance of the CustomLineCap class from the specified existing LineCap enumeration with the specified outline, fill, and inset.

プロパティ

BaseCap

この LineCap の基になっている CustomLineCap 列挙体を取得または設定します。Gets or sets the LineCap enumeration on which this CustomLineCap is based.

BaseInset

キャップと直線との距離を取得または設定します。Gets or sets the distance between the cap and the line.

StrokeJoin

この LineJoin オブジェクトを構成する直線の接合方法を決定する、CustomLineCap 列挙体を取得または設定します。Gets or sets the LineJoin enumeration that determines how lines that compose this CustomLineCap object are joined.

WidthScale

CustomLineCap オブジェクトの幅に対応した、この Pen クラス オブジェクトのスケーリングの量を取得または設定します。Gets or sets the amount by which to scale this CustomLineCap Class object with respect to the width of the Pen object.

メソッド

Clone()

この CustomLineCap の同一コピーを作成します。Creates an exact copy of this CustomLineCap.

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
Dispose()

この CustomLineCap オブジェクトによって使用されているすべてのリソースを解放します。Releases all resources used by this CustomLineCap object.

Dispose(Boolean)

CustomLineCap によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the CustomLineCap and optionally releases the managed resources.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
Finalize()

CustomLineCap がガベージ コレクションにより収集される前に、その CustomLineCap がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。Allows an CustomLineCap to attempt to free resources and perform other cleanup operations before the CustomLineCap is reclaimed by garbage collection.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

このカスタム キャップを構成する直線の開始と終了に使用するキャップを取得します。Gets the caps used to start and end lines that make up this custom cap.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

直線の開始と終了に使用する、このカスタム キャップを構成するキャップを設定します。Sets the caps used to start and end lines that make up this custom cap.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象