次の方法で共有


Stroke.Split メソッド

Stroke オブジェクトを、Stroke オブジェクト上の指定した位置で分割し、新しい Stroke オブジェクトを返します。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public Function Split ( _
    findex As Single _
) As Stroke
'使用
Dim instance As Stroke
Dim findex As Single
Dim returnValue As Stroke

returnValue = instance.Split(findex)
public Stroke Split(
    float findex
)
public:
Stroke^ Split(
    float findex
)
public Stroke Split(
    float findex
)
public function Split(
    findex : float
) : Stroke

パラメータ

  • findex
    型 : System.Single
    Stroke オブジェクトを分割する場所を表す浮動小数点インデックス値。

戻り値

型 : Microsoft.Ink.Stroke
このメソッドを呼び出した結果として作成される新しい Stroke オブジェクト。

解説

浮動小数点インデックスは、ストローク内の 2 つのポイントの間のある場所を表す浮動小数点値です。たとえば、0.0 がストローク内の最初のポイントで、1.0 がストローク内の 2 番目のポイントの場合、0.5 が最初のポイントと 2 番目のポイントの間の中間です。同様に、浮動小数点インデックス値 37.25 は、ストロークのポイント 37 と 38 の間の線に沿って 25 パーセント進んだ位置を表しています。

Stroke が分割されると、ストロークの一部分に元の Stroke オブジェクトの Id プロパティが保持されます。Stroke の他の部分は、既存の最大の Id プロパティより 1 大きい Id プロパティを持つ新しい Stroke オブジェクトとなります。元の StrokeStrokes コレクション内 (Ink.Strokes 以外) にある場合、開始部分のみがそのコレクションに残ります。

この例では、InkOverlay で選択された各 Stroke オブジェクトが調べられます。Stroke が、Ink オブジェクトのその他の Strokes コレクションとの間に少なくとも 1 つの交差部分を持つ場合、Stroke は交差部分の最初のポイントで分割されます。

' Access to the Strokes property returns a copy of the Strokes object.
' This copy must be implicitly (via using statement) or explicitly
' disposed of in order to avoid a memory leak.
Using allStrokes As Strokes = mInkOverlay.Ink.Strokes
    For Each S As Stroke In mInkOverlay.Selection
        ' find the intersections
        Dim intersections() As Single = S.FindIntersections(allStrokes)
        ' if we have at least 1 intersection, split the stroke
        If intersections.Length > 0 Then
            S.Split(intersections(0))
        End If
    Next
End Using
// Access to the Strokes property returns a copy of the Strokes object.
// This copy must be implicitly (via using statement) or explicitly
// disposed of in order to avoid a memory leak.
using (Strokes allStrokes = mInkOverlay.Ink.Strokes)
{
    foreach (Stroke S in mInkOverlay.Selection)
    {
        // find the intersections
        float[] intersections = S.FindIntersections(allStrokes);
        // if we have at least 1 intersection, split the stroke
        if (intersections.Length > 0)
        {
            S.Split(intersections[0]);
        }
    }
}

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

Stroke クラス

Stroke メンバ

Microsoft.Ink 名前空間