다음을 통해 공유


AnalysisHintNode 클래스

업데이트: 2007년 11월

InkAnalyzer에 영역에 대한 분석 힌트를 제공합니다.

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

구문

‘선언
Public NotInheritable Class AnalysisHintNode _
    Inherits ContextNode
‘사용 방법
Dim instance As AnalysisHintNode
public sealed class AnalysisHintNode : ContextNode
public ref class AnalysisHintNode sealed : public ContextNode
public final class AnalysisHintNode extends ContextNode
public final class AnalysisHintNode extends ContextNode

설명

AnalysisHintNode는 특정 영역에 대한 힌트인 힌트의 Location을 힌트가 연결된 InkAnalyzer에 제공합니다. 힌트는 인식 정확도를 향상시키는 데 사용되는 추가적인 컨텍스트를 잉크 분석기에 제공합니다. InkAnalyzer는 힌트의 영역 내에서 잉크를 분석할 때 이 컨텍스트 정보를 적용합니다.

무한 영역에 할당된 힌트, 즉 전역 힌트의 경우 InkAnalyzer가 힌트의 컨텍스트를 다른 힌트의 영역에 포함되지 않은 모든 잉크에 적용합니다. InkAnalyzer 하나에 여러 힌트를 연결할 수 있습니다. 그러나 전역 힌트는 단일 InkAnalyzer에 하나만 연결할 수 있으며 전역이 아닌 힌트는 서로 겹칠 수 없습니다. 힌트에서 제공할 수 있는 컨텍스트 정보의 형식에 대한 자세한 내용은 이 클래스의 멤버를 참조하십시오.

InkAnalyzer에 힌트를 추가하려면 InkAnalyzer.CreateAnalysisHint를 사용합니다. InkAnalyzer에서 힌트를 제거하려면 DeleteAnalysisHint를 사용합니다.

참고

InkAnalyzer에 힌트를 추가하더라도 InkAnalyzer 개체의 DirtyRegion은 변경되지 않습니다. InkAnalyzer가 힌트의 영역 내에서 잉크를 다시 분석하도록 하려면 DirtyRegion 개체의 Union(AnalysisRegion) 메서드를 사용합니다.

Analyze 또는 BackgroundAnalyze 메서드가 호출될 때마다 InkAnalyzer는 힌트의 Links 속성을 업데이트합니다. InkAnalyzer는 AnalysisHintNode와 힌트가 적용되는 각각의 ContextNode 사이에 ContextLink를 추가합니다. 힌트가 ContextNode의 모든 하위 항목에 적용되는 경우 InkAnalyzer는 힌트를 ContextNode에만 링크하며 해당 하위 항목에는 링크하지 않습니다.

AnalysisHintNode의 Location 속성은 힌트를 사용자 지정 인식기 노드에 적용하는 데 사용되지 않습니다. 힌트를 만들고 CustomRecognizerNode의 스트로크가 포함되도록 해당 위치를 설정하면 이러한 스트로크에는 힌트가 적용되지 않습니다. 사용자 지정 인식기 노드 내의 스트로크에 힌트를 올바르게 적용하려면 Analyze를 호출하기 전에 AnalysisHintNode와 CustomRecognizerNode 사이에 링크를 만듭니다. 예를 들어 theAnalysisHint라는 AnalysisHintNode와 theCustomRecognizerNode라는 CustomRecognizerNode가 있다고 가정할 경우 이 둘 사이에 링크를 만들려면 theAnalysisHint.Links.Add(theCustomRecognizerNode, ContextLinkDirection.LinksWith)를 사용합니다.

CustomRecognizerNode에는 전역이 아닌 하나의 힌트만 적용될 수 있습니다. CustomRecognizerNode에서 전역이 아닌 힌트를 제거하려면 Remove를 사용하여 CustomRecognizerNodeLinks 속성에서 링크를 제거합니다.

비어 있지 않은 영역에 대한 전역이 아닌 힌트가 CustomRecognizerNode에 적용되면 InkAnalyzer는 힌트의 컨텍스트를 CustomRecognizerNode 및 힌트 영역 내의 잉크에 적용합니다.

분석 작업에서는 AnalysisHintNode에서 CustomRecognizerNode로의 링크를 만들거나 삭제하지 않습니다.

폼 응용 프로그램에서 힌트를 사용하는 경우 폼에서 텍스트 컨텍스트와 잉크를 함께 사용하지 않도록 해야 합니다. 예를 들어 텍스트 필드 이름을 분석 트리에 만들지 않아야 합니다. 힌트는 잉크를 페이지의 영역에 연결하기 위한 것인데 텍스트 컨텍스트는 이러한 잉크와 힌트의 연결을 방해하기 때문입니다. 이 경우 분석 작업에서 같은 쓰기 영역에 잉크와 텍스트 컨텍스트가 병합되어 잉크가 힌트 영역과 연결되지 않습니다.

예제

이 예제에서는 InkAnalyzer인 theInkAnalyzerWithHint에 대한 theAnalysisHint라는 AnalysisHintNode를 만들고 힌트 영역을 무한대로 설정하여 theAnalysisHint를 전역 힌트로 만듭니다. 그런 다음 힌트의 AllowPartialDictionaryTermsName 속성을 설정합니다.

' Add a new, global analysis hint to theInkAnalyzerWithHint.
Dim theAnalysisHint As Microsoft.Ink.AnalysisHintNode = _
    Me.theInkAnalyzerWithHint.CreateAnalysisHint()
theAnalysisHint.Location.MakeInfinite()

theAnalysisHint.AllowPartialDictionaryTerms = True
theAnalysisHint.Name = "Allow Partial Dictionary Terms"
// Add a new, global analysis hint to theInkAnalyzerWithHint.
Microsoft.Ink.AnalysisHintNode theAnalysisHint =
    this.theInkAnalyzerWithHint.CreateAnalysisHint();
theAnalysisHint.Location.MakeInfinite();

theAnalysisHint.AllowPartialDictionaryTerms = true;
theAnalysisHint.Name = "Allow Partial Dictionary Terms";

상속 계층 구조

System.Object
  Microsoft.Ink.ContextNode
    Microsoft.Ink.AnalysisHintNode

스레드로부터의 안전성

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

플랫폼

Windows Vista

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

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

AnalysisHintNode 멤버

Microsoft.Ink 네임스페이스

Microsoft.Ink.ContextLink

Microsoft.Ink.AnalysisRegion

Microsoft.Ink.InkAnalyzer