다음을 통해 공유


Strokes.GetBoundingBox 메서드

업데이트: 2007년 11월

기본 BoundingBoxMode 플래그를 사용하여 경계를 결정하는 방식으로 Stroke 개체가 들어 있는 경계 Rectangle을 반환합니다.

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

구문

‘선언
Public Function GetBoundingBox As Rectangle
‘사용 방법
Dim instance As Strokes
Dim returnValue As Rectangle

returnValue = instance.GetBoundingBox()
public Rectangle GetBoundingBox()
public:
Rectangle GetBoundingBox()
public Rectangle GetBoundingBox()
public function GetBoundingBox() : Rectangle

반환 값

형식: System.Drawing.Rectangle
Strokes 컬렉션의 경계 상자를 정의하는 경계 Rectangle을 반환합니다.

설명

경계 Rectangle은 잉크 공간 좌표에 있습니다.

경계 RectangleStrokes 컬렉션을 표시할 때 화면에서 무효화하거나 다시 그릴 부분에 해당합니다.

경계 상자가 펜 너비의 영향을 받는 경우 이 너비의 배율은 Renderer 개체의 뷰 변환에 맞게 조정됩니다. 이렇게 하려면 펜 너비에 뷰 변환 행렬식의 제곱근을 곱합니다.

참고

펜 너비를 명시적으로 설정하지 않은 경우 기본값은 53입니다. 올바른 경계 상자를 그리려면 펜 너비에 행렬식의 제곱근을 곱해야 합니다. 경계 상자의 높이와 너비는 각 방향으로 이 거리의 절반만큼 확장됩니다. 예를 들어 펜 너비가 53이고, 행렬식의 제곱근이 50이고, 경계 상자가 (0, 0, 1000, 1000)이라고 가정해 봅니다. 경계 상자에 대한 펜 너비 조정은 각 방향으로 (53*50)/2로 계산되고 오른쪽과 아래쪽은 1만큼 늘어납니다. 따라서 경계 상자가 (-1325, -1325, 2326, 2326)으로 렌더링됩니다.

참고

이 메서드에서 반환하는 경계 RectangleStrokes 컬렉션의 경계 상자 복사본입니다. 이 메서드에서 반환하는 Rectangle을 변경해도 원래 Strokes 컬렉션의 경계 상자는 영향을 받지 않습니다.

예제

이 예제에서는 InkOverlay 개체의 Strokes 컬렉션을 Strokes 컬렉션의 오른쪽 절반으로 자릅니다. 우선 GetBoundingBox 메서드를 호출하여 Strokes 컬렉션의 경계 사각형을 가져옵니다. 그런 다음 오른쪽 절반을 잘라낸 새 사각형을 만들어 Clip 메서드에 전달합니다.

' 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
    ' Determine the bounding box for the Strokes collection.
    Dim bounds As Rectangle = allStrokes.GetBoundingBox()
    'Create rectangle for Clip method.
    Dim halfRectangle As Rectangle = _
            New Rectangle(bounds.Left, bounds.Top, bounds.Width / 2, bounds.Height)
    ' Clip the Strokes collection.
    allStrokes.Clip(halfRectangle)
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)
{
    // Determine the bounding box for the Strokes collection.
    Rectangle bounds = allStrokes.GetBoundingBox();
    //Create rectangle for Clip method.
    Rectangle halfRectangle = 
        new Rectangle(bounds.Left, bounds.Top, bounds.Width / 2, bounds.Height);
    // Clip the Strokes collection.
    allStrokes.Clip(halfRectangle);
}

플랫폼

Windows Vista

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

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

Strokes 클래스

Strokes 멤버

GetBoundingBox 오버로드

Microsoft.Ink 네임스페이스

Stroke.GetBoundingBox

BoundingBoxMode