다음을 통해 공유


InkAnalyzerBase 클래스

업데이트: 2007년 11월

레이아웃 분석, 필기와 그리기 분류 및 필기 인식 기능에 액세스합니다.

네임스페이스:  System.Windows.Ink.AnalysisCore
어셈블리:  IACore(IACore.dll)

구문

‘선언
Public Class InkAnalyzerBase _
    Implements IDisposable
‘사용 방법
Dim instance As InkAnalyzerBase
public class InkAnalyzerBase : IDisposable
public ref class InkAnalyzerBase : IDisposable
public class InkAnalyzerBase implements IDisposable
public class InkAnalyzerBase implements IDisposable

설명

InkAnalyzerBase는 스트로크 패킷 데이터를 사용하여 잉크를 분석하며 잉크나 스트로크 개체와 직접 상호 작용하지는 않습니다.

경고

메모리 누수가 발생하지 않도록 하려면 개체가 범위를 벗어나기 전에 이벤트 처리기가 연결되어 있는 모든 InkAnalyzerBase 개체의 Dispose 메서드를 명시적으로 호출해야 합니다.

분석을 위해 InkAnalyzerBase에 대해 스트로크를 추가하거나 제거하려면 AddStroke, AddStrokes, RemoveStroke 또는 RemoveStrokes 메서드를 사용합니다. 이러한 메서드는 다음 분석 작업에서 분석되는 스트로크의 영역을 나타내는 DirtyRegion 속성을 업데이트합니다.

잉크를 분석하려면 Analyze 또는 BackgroundAnalyze 메서드를 사용합니다. 분석하는 동안 InkAnalyzerBase는 레이아웃 분석, 스트로크 분류 및 필기 인식을 수행합니다.

분석하는 동안 InkAnalyzerBase는 많은 수의 이벤트를 발생시킵니다. 여기에는 백그라운드 분석 중에 분석기를 생성한 스레드에서 생성되는 이벤트가 포함됩니다. 여러 InkAnalyzerBase 이벤트가 InkAnalyzerBase의 데이터 프록시 기능을 지원합니다. 자세한 내용은 Data Proxy with Ink Analysis을를 참조하십시오.

이벤트 처리기 내에서 분석 프로세스를 중지하려면 Abort 메서드를 호출합니다.

잉크 분석기가 필기 인식을 위해 사용하는 언어를 수정하려면 SetStrokeLanguageId 또는 SetStrokesLanguageId를 사용합니다. 잉크 분석기가 특정 스트로크를 분류하는 방법을 수정하려면 SetStrokeType 또는 SetStrokesType을 사용합니다.

InkAnalyzerBase는 설치된 잉크 인식기를 모두 로드합니다. GetInkRecognizersByPriority 메서드는 사용 가능한 각 InkRecognizerBase가 들어 있는 InkRecognizerBaseCollection을 반환합니다. 둘 이상의 잉크 인식기가 특정 언어를 지원하는 경우 SetHighestPriorityInkRecognizer(InkRecognizer)를 사용하여 해당 언어의 스트로크를 처리할 잉크 인식기를 설정합니다.

분석 힌트를 사용하면 잉크 분석기에 추가 컨텍스트를 제공하여 인식 정확도를 높일 수 있습니다. 추가 컨텍스트 정보가 있으면 잉크 분석기가 가능한 인식 결과의 수를 줄일 수 있습니다. 예를 들어 유의 사실 또는 예상 단어를 정의하거나 인식 안내선으로 입력을 구조화하여 결과 범위를 좁힐 수 있습니다. 잉크 분석기에 컨텍스트를 제공하는 방법과 관련한 자세한 내용은 다음을 참조하십시오.

CreateAnalysisHint, DeleteAnalysisHintGetAnalysisHints

잉크 분석기는 분석 결과를 문자열 또는 ContextNodeBase 개체 트리로 나타냅니다. 인식된 문자열에 액세스하려면 GetRecognizedString을 사용합니다. 트리의 루트에 액세스하려면 RootNode 속성을 사용합니다. 잉크 분석기에는 특정 컨텍스트 노드나 텍스트를 찾는 다음과 같은 메서드가 있습니다.

대체 분석 결과로 작업하려면 GetAlternatesModifyTopAlternate를 사용합니다.

분석 결과를 저장하려면 SaveResults를 사용합니다. 저장된 결과를 로드하려면 Load를 사용합니다.

InkAnalyzerBase를 사용하여 잉크를 분석하는 방법에 대한 자세한 내용은 Ink Analysis Overview를 참조하십시오.

예제

이 예제에서는 새 InkAnalyzerBase인 theInkAnalyzerBase를 초기화합니다. 그런 다음 AnalysisModes 속성을 설정하고 UpdateStrokesCacheBase 이벤트 처리기를 연결합니다.

' Create the ink analyzer and enable automatic reconciliation and
' automatic stroke cache cleanup, but not intermediate results.
Dim theInkAnalyzerBase As New System.Windows.Ink.AnalysisCore.InkAnalyzerBase()
theInkAnalyzerBase.AnalysisModes = _
    System.Windows.Ink.AnalysisCore.AnalysisModes.AutomaticReconciliationEnabled _
    Or System.Windows.Ink.AnalysisCore.AnalysisModes.StrokeCacheAutoCleanupEnabled

' Since automatic stroke cache cleanup is enabled, add an event
' handler for the UpdateStrokesCacheBase event.
AddHandler theInkAnalyzerBase.UpdateStrokesCacheBase, _
    AddressOf theInkAnalyzerBase_UpdateStrokesCacheBase
// Create the ink analyzer and enable automatic reconciliation and
// automatic stroke cache cleanup, but not intermediate results.
System.Windows.Ink.AnalysisCore.InkAnalyzerBase theInkAnalyzerBase =
    new System.Windows.Ink.AnalysisCore.InkAnalyzerBase();
theInkAnalyzerBase.AnalysisModes =
    System.Windows.Ink.AnalysisCore.AnalysisModes.AutomaticReconciliationEnabled
    | System.Windows.Ink.AnalysisCore.AnalysisModes.StrokeCacheAutoCleanupEnabled;

// Since automatic stroke cache cleanup is enabled, add an event
// handler for the UpdateStrokesCacheBase event.
theInkAnalyzerBase.UpdateStrokesCacheBase +=
    new System.Windows.Ink.AnalysisCore.UpdateStrokesCacheBaseEventHandler(
        theInkAnalyzerBase_UpdateStrokesCacheBase);

상속 계층 구조

System.Object
  System.Windows.Ink.AnalysisCore.InkAnalyzerBase

스레드로부터의 안전성

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

플랫폼

Windows Vista, Windows XP SP2, Windows Server 2003

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

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

InkAnalyzerBase 멤버

System.Windows.Ink.AnalysisCore 네임스페이스

System.Windows.Ink.AnalysisCore.AnalysisAlternateBase

System.Windows.Ink.AnalysisCore.AnalysisStatusBase

System.Windows.Ink.AnalysisCore.ContextLinkBase

System.Windows.Ink.AnalysisCore.ContextNodeBase