다음을 통해 공유


Stroke.FindIntersections 메서드

업데이트: 2007년 11월

지정된 Strokes 컬렉션 내에서 이 Stroke 개체가 다른 Stroke 개체와 교차하는 지점을 찾습니다.

네임스페이스:  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