다음을 통해 공유


Ink.HitTest 메서드 (Rectangle, Single)

업데이트: 2007년 11월

알려진 Rectangle 내에 포함된 Strokes 컬렉션을 반환합니다.

네임스페이스:  Microsoft.Ink
어셈블리:  Microsoft.Ink(Microsoft.Ink.dll)

구문

‘선언
Public Function HitTest ( _
    selectionRectangle As Rectangle, _
    percentIntersect As Single _
) As Strokes
‘사용 방법
Dim instance As Ink
Dim selectionRectangle As Rectangle
Dim percentIntersect As Single
Dim returnValue As Strokes

returnValue = instance.HitTest(selectionRectangle, _
    percentIntersect)
public Strokes HitTest(
    Rectangle selectionRectangle,
    float percentIntersect
)
public:
Strokes^ HitTest(
    Rectangle selectionRectangle, 
    float percentIntersect
)
public Strokes HitTest(
    Rectangle selectionRectangle,
    float percentIntersect
)
public function HitTest(
    selectionRectangle : Rectangle, 
    percentIntersect : float
) : Strokes

매개 변수

  • percentIntersect
    형식: System.Single
    Strokes 컬렉션에 포함되는 Stroke 개체를 결정하는 백분율 값입니다. 사각형 내에 포함된 Stroke 개체의 점 백분율이 percentIntersect 매개 변수에 전달된 백분율보다 크거나 같은 경우 사각형과 교차하는 Stroke 개체는 Strokes 컬렉션에 포함됩니다.

반환 값

형식: Microsoft.Ink.Strokes
지정된 영역 안에 들어 있는 Strokes 컬렉션입니다.

설명

적중 테스트 영역과 교차하는 알려진 Stroke 개체의 점을 확인하려면 Stroke 개체가 알려진 Rectangle과 교차하는 점을 반환하도록 Stroke.GetRectangleIntersections 메서드를 호출합니다.

예제

이 예제에서는 잉크 컨트롤의 왼쪽 위 2000 x 2000 HIMETRIC 단위로 정의된 사각형 내에 점의 75% 이상이 포함된 InkOverlay의 모든 Stroke 개체를 빨간색으로 변경합니다. 그런 다음 선택 지점을 사용하여 Stroke 개체를 만드는 방식으로 사각형을 표시합니다.

Const RectSideInkUnits As Integer = 2000
' get the control. InkOverlay.AttachedControl must be set
Dim inkControl As Control = mInkOverlay.AttachedControl
' create the rectangle used for the hit test
Dim hitTestRect As Rectangle = New Rectangle(0, 0, RectSideInkUnits, RectSideInkUnits)
' create boundary points in order to show the rectangle by creating a stroke
Dim boundaryPts() As Point = _
    { _
        New Point(RectSideInkUnits, 0), _
        New Point(RectSideInkUnits, RectSideInkUnits), _
        New Point(0, RectSideInkUnits) _
    }

' show the rectangle by creating a stroke
mInkOverlay.Ink.CreateStroke(boundaryPts)
' Find strokes that fall at least 75% within the rectangle
Dim hitStrokes As Strokes = mInkOverlay.Ink.HitTest(hitTestRect, 75.0F)
' change the found strokes to red
hitStrokes.ModifyDrawingAttributes(New DrawingAttributes(Color.Red))
' invalidate the ink control
inkControl.Invalidate()
const int RectSideInkUnits = 2000;
// get the control. InkOverlay.AttachedControl must be set
Control inkControl = mInkOverlay.AttachedControl;
// create the rectangle used for the hit test
Rectangle hitTestRect = new Rectangle(0, 0, RectSideInkUnits, RectSideInkUnits);
// create boundary points in order to show the rectangle by creating a stroke
Point[] boundaryPts = new Point[3] 
    {
        new Point(RectSideInkUnits, 0),
        new Point(RectSideInkUnits, RectSideInkUnits),
        new Point(0, RectSideInkUnits)
    };

// show the rectangle by creating a stroke
mInkOverlay.Ink.CreateStroke(boundaryPts);
// Find strokes that fall at least 75% within the rectangle
Strokes hitStrokes = mInkOverlay.Ink.HitTest(hitTestRect, 75.0f);
// change the found strokes to red
hitStrokes.ModifyDrawingAttributes(new DrawingAttributes(Color.Red));
// invalidate the ink control
inkControl.Invalidate();

플랫폼

Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

Ink 클래스

Ink 멤버

HitTest 오버로드

Microsoft.Ink 네임스페이스

Strokes

ExtendedProperties