Stroke.FindIntersections 方法

查找此 Stroke 对象与其他 Stroke 对象在给定 Strokes 集合中的交点。

命名空间:  Microsoft.Ink
程序集:  Microsoft.Ink(在 Microsoft.Ink.dll 中)

语法

声明
Public Function FindIntersections ( _
    strokes As Strokes _
) As Single()
用法
Dim instance As Stroke
Dim strokes As Strokes
Dim returnValue As Single()

returnValue = instance.FindIntersections(strokes)
public float[] FindIntersections(
    Strokes strokes
)
public:
array<float>^ FindIntersections(
    Strokes^ strokes
)
public float[] FindIntersections(
    Strokes strokes
)
public function FindIntersections(
    strokes : Strokes
) : float[]

参数

  • strokes
    类型:Microsoft.Ink.Strokes
    用于测试与此 Stroke 对象的交点的 Strokes 集合。如果为 nullnull 引用(在 Visual Basic 中为 Nothing)(在 Microsoft Visual Basic .NET 中为 Nothing),则使用 Ink 对象中的所有 Strokes 集合。

返回值

类型:array<System.Single[]
此方法返回一个浮点索引值数组,用于指示发生相交的位置。
浮点索引是一个浮点值,表示 Stroke 对象中两点之间的某个位置。例如,如果 0.0 是笔画中的第一个点,而 1.0 是笔画中的第二个点,则 0.5 位于第一个点和第二个点的正中间。与之类似,浮点索引值 37.25 表示位于笔画点 37 和 38 之间连线的 25% 的位置。

备注

备注

strokes 参数中的 Strokes 集合必须来自与用于测试交点的 Stroke 对象相同的 Ink 对象。

此方法只能确定交点。

示例

在此示例中,检查 InkOverlay 的所有选定 Stroke 对象。如果 StrokeInk 对象中 Strokes 集合的其余部分至少有一个交点,则在第一个交点处拆分 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 命名空间

Stroke.GetRectangleIntersections

Strokes