다음을 통해 공유


Ink.Clip 메서드

업데이트: 2007년 11월

Stroke 개체 또는 Strokes 컬렉션에서 지정된 사각형을 벗어나는 부분을 제거합니다.

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

구문

‘선언
Public Sub Clip ( _
    r As Rectangle _
)
‘사용 방법
Dim instance As Ink
Dim r As Rectangle

instance.Clip(r)
public void Clip(
    Rectangle r
)
public:
void Clip(
    Rectangle r
)
public void Clip(
    Rectangle r
)
public function Clip(
    r : Rectangle
)

매개 변수

설명

r 매개 변수는 잉크 공간 좌표에 지정됩니다.

사각형을 벗어난 잉크 부분은 Ink 개체에서 삭제됩니다. 따라서 Clip 메서드는 Stroke 개체가 사각형과 교차하는 지점에 있는 Stroke 개체에 새 점을 추가할 수 있습니다.

Ink 개체의 Clip 메서드를 호출한 후에는 Ink 개체의 Strokes 컬렉션에 있는 각 Stroke 개체가 변경될 수 있습니다. 예를 들어 Stroke 개체가 클립 사각형의 영역 내에서 시작되는 경우 이 개체는 두 Stroke 개체가 되며, 두 개체 중 최소한 하나에는 새 Id 속성이 있습니다. 이러한 동작이 발생해도 모든 Id 속성은 Ink 개체 내에서 항상 고유하며, 속성이 변경되는 경우에도 마찬가지입니다. Stroke 개체의 다른 속성도 비슷하게 변경될 수 있습니다.

이 메서드는 자르기 작업을 수행할 때 펜 너비를 고려하지 않으며, 실제 잉크 또는 스트로크 데이터만 자릅니다.

Stroke 개체 또는 Strokes 컬렉션의 경우 Clip 메서드는 부모 Ink 개체를 업데이트합니다. Ink 개체에서 잉크를 제거하면 해당 Ink 개체에 정의된 Stroke 개체나 Strokes 컬렉션이 모두 무효화됩니다.

잉크 데이터를 조작하는 방법에 대한 자세한 내용은 Ink Data를 참조하십시오.

예제

이 예제에서는 잉크 컨트롤의 클라이언트 영역을 가져와 HIMETRIC 단위로 변환된 다음 크기를 1,500 단위만큼 줄입니다. 그런 다음 Clip 메서드를 사용하여 사각형을 벗어나는 Stroke 개체의 부분을 제거합니다.

' get the bottom right point of the client area for ink
' Note: InkOverlay.AttachedControl property must be set
Dim bottomRight As Point = New Point(mInkOverlay.AttachedControl.ClientSize)
' convert to HIMETRIC units
Using g As Graphics = mInkOverlay.AttachedControl.CreateGraphics()
    mInkOverlay.Renderer.PixelToInkSpace(g, bottomRight)
End Using
' create a rectangle of the client area (HIMETRIC units)
Dim R As Rectangle = New Rectangle(0, 0, bottomRight.X, bottomRight.Y)
' shrink the rectangle by 1500 
R.Inflate(-1500, -1500)
' clip the strokes to the rectangle
mInkOverlay.Ink.Clip(R)
mInkOverlay.AttachedControl.Invalidate()
// get the bottom right point of the client area for ink
// Note: InkOverlay.AttachedControl property must be set
Point bottomRight = new Point(mInkOverlay.AttachedControl.ClientSize);
// convert to HIMETRIC units
using (Graphics g = mInkOverlay.AttachedControl.CreateGraphics())
{
    mInkOverlay.Renderer.PixelToInkSpace(g, ref bottomRight);
}
// create a rectangle of the client area (HIMETRIC units)
Rectangle R = new Rectangle(0, 0, bottomRight.X, bottomRight.Y);
// shrink the rectangle by 1500 
R.Inflate(-1500, -1500);
// clip the strokes to the rectangle
mInkOverlay.Ink.Clip(R);
mInkOverlay.AttachedControl.Invalidate();

플랫폼

Windows Vista

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

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

Ink 클래스

Ink 멤버

Microsoft.Ink 네임스페이스

Ink.HitTest

Stroke

Strokes