다음을 통해 공유


RecognizerGuide 구조체

업데이트: 2007년 11월

Recognizer 개체가 사용하며 잉크를 그릴 수 있는 영역을 나타냅니다. 이 영역을 인식기 가이드라고 합니다.

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

구문

‘선언
Public Structure RecognizerGuide
‘사용 방법
Dim instance As RecognizerGuide
public struct RecognizerGuide
public value class RecognizerGuide
public final class RecognizerGuide extends ValueType
JScript에서는 구조체를 사용할 수 있지만 새로 선언할 수는 없습니다.

설명

인식기 가이드는 행과 열로 구성될 수 있으며 인식기의 인식 수행에 도움을 주는 컨텍스트를 제공합니다. 예를 들어 줄이 그어진 종이처럼, 잉크 그리기가 수행될 위치를 나타내는 가로줄을 사용자 화면에 그릴 수 있습니다. 이러한 형식의 가이드는 열 없이 행만으로 구성됩니다. 사용자가 임의의 공간이 아니라 줄에 필기를 하면 인식 정확도가 향상됩니다. 인식기 가이드에 대한 자세한 내용은 Ink Recognition을 참조하십시오.

가이드를 통해 잉크에 컨텍스트가 제공되면 "t"와 "I" 등의 문자를 더 쉽게 인식할 수 있습니다.

가이드는 잉크 공간 좌표에 잉크의 경계를 지정합니다.DrawnBox 속성은 WritingBox 속성에 정의된 상자보다 작거나 같은 상자를 정의할 수 있습니다. 이를 통해 다양한 문장체를 지정할 수 있습니다. 사용자가 DrawnBox를 벗어났지만 WritingBox 내에 있는 위치에 필기하는 경우 Recognizer 개체에서는 인식 작업을 지원하기 위해 모든 잉크를 사용합니다.

응용 프로그램에서 사용자가 필기할 화면에 안내선을 그린 경우 해당 응용 프로그램은 인식기에 알릴 인식기 가이드의 속성 값을 설정합니다. 이러한 속성은 인식기에만 사용됩니다. 이러한 속성을 설정해도 화면에 시각적인 단서가 표시되지는 않습니다. 시각적인 단서는 응용 프로그램이나 컨트롤을 통해 그려집니다.

사용자가 필기할 위치를 보여 주는 그리기 선을 표시하는 것 이외에도 문자나 단어를 쓰는 셀을 화면에 그릴 수도 있습니다. 이를 상자식 입력이라고 하며 일부 동아시아 언어에 유용합니다. 인식기가 상자식 입력을 지원하는지 확인하려면 Recognizer 개체의 Capabilities 속성을 호출합니다.

기본적으로는 가이드가 없습니다. 기본 가이드의 모든 속성 값은 0으로 설정되어 있습니다. 가이드를 설정하려면 이 개체의 속성을 사용해야 합니다.

예제

이 예제에서는 RecognizerContext 개체를 인스턴스화하고 새 RecognizerGuide 개체를 만들어 Guide 속성을 할당합니다.

' create a new RecognizerContext object
mRecognizerContext = New RecognizerContext()
' if the Recognizer supports LinedInput, set the Guide
If (mRecognizerContext.Recognizer.Capabilities And RecognizerCapabilities.LinedInput) <> 0 Then
    ' get the lower right corner in pixel units
    Dim lowerRight As Point = New Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height)
    ' convert to ink space units
    mInkOverlay.Renderer.PixelToInkSpace(Me.CreateGraphics(), lowerRight)
    ' create Rectangles
    Dim writingBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
    Dim drawnBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
    ' shrink drawn box relative to writing box
    drawnBox.Inflate(-100, -100)
    ' create Guide with 8 rows, zero columns, and no midline
    Dim guide As RecognizerGuide = New RecognizerGuide(8, 0, 0, writingBox, drawnBox)
    mRecognizerContext.Guide = guide
End If
// create a new RecognizerContext object
mRecognizerContext = new RecognizerContext();
// if the Recognizer supports LinedInput, set the Guide
if ((mRecognizerContext.Recognizer.Capabilities & RecognizerCapabilities.LinedInput) != 0)
{
    // get the lower right corner in pixel units
    Point lowerRight = new Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height);
    // convert to ink space units
    mInkOverlay.Renderer.PixelToInkSpace(this.CreateGraphics(), ref lowerRight);
    // create Rectangles
    Rectangle writingBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
    Rectangle drawnBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
    // shrink drawn box relative to writing box
    drawnBox.Inflate(-100, -100);
    // create Guide with 8 rows, zero columns, and no midline
    RecognizerGuide guide = new RecognizerGuide(8, 0, 0, writingBox, drawnBox);
    mRecognizerContext.Guide = guide;
}

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows Vista

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

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

RecognizerGuide 멤버

Microsoft.Ink 네임스페이스

Recognizer

RecognizerContext