다음을 통해 공유


InkAnalyzer.Analyze 메서드

업데이트: 2007년 11월

동기적 잉크 분석을 수행합니다.

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

구문

‘선언
Public Function Analyze As AnalysisStatus
‘사용 방법
Dim instance As InkAnalyzer
Dim returnValue As AnalysisStatus

returnValue = instance.Analyze()
public AnalysisStatus Analyze()
public:
AnalysisStatus^ Analyze()
public AnalysisStatus Analyze()
public function Analyze() : AnalysisStatus

반환 값

형식: Microsoft.Ink.AnalysisStatus
분석 작업의 상태입니다.

설명

이 메서드는 동기적 잉크 분석 작업을 시작합니다. 잉크 분석에는 레이아웃 분석, 필기와 그리기 분류 및 필기 인식이 포함됩니다. 분석 작업이 완료되면 작업이 반환됩니다. InkAnalyzerDirtyRegion 내에 있는 잉크만 분석합니다.

이 메서드는 InkAnalyzer 개체의 DirtyRegion를 빈 영역으로 설정합니다. 다른 스레드에서 아직 분석되지 않은 스트로크 데이터를 추가하면 InkAnalyzer는 분석의 조정 단계에서 분석되지 않은 스트로크의 경계 상자를 DirtyRegion에 추가합니다.

InkAnalyzer는 이 메서드에 응답하여 ResultsUpdatedIntermediateResultsUpdated 이벤트를 발생시키지 않습니다.

잉크 분석이 수행되는 방법을 수정하려면 InkAnalyzer 개체의 AnalysisModes 속성을 사용합니다.

잉크 분석에 대한 자세한 내용은 Ink Analysis Overview를 참조하십시오.

예제

이 예제에서는 메뉴 항목의 클릭 이벤트에 대한 이벤트 처리기를 정의합니다. 이 이벤트 처리기는 InkAnalyzer 개체의 DirtyRegion이 비어 있지 않은 경우 동기적 잉크 분석을 수행합니다. 이때 InkAnalyzer.Activity 이벤트 처리기를 연결하고 분석을 수행합니다. 그런 다음 이벤트 처리기를 제거하고 도우미 메서드인 UpdateResults를 호출하여 폼을 분석 결과로 업데이트합니다.

''' <summary>
''' The Ink menu's Analyze menu item's Click event handler.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Private Sub theInkAnalyzeMenuItem_Click( _
    ByVal sender As Object, ByVal e As EventArgs) _
    Handles theInkAnalyzeMenuItem.Click

    ' Only start ink analysis if the dirty region is not empty.
    If Not Me.theInkAnalyzer.DirtyRegion.IsEmpty Then
        ' Attach an activity event handler.
        AddHandler Me.theInkAnalyzer.Activity, AddressOf theInkAnalyzer_Activity

        ' Perform the ink analysis.
        Dim theStatus As Microsoft.Ink.AnalysisStatus = Me.theInkAnalyzer.Analyze()

        ' Remove the activity event handler.
        RemoveHandler Me.theInkAnalyzer.Activity, AddressOf theInkAnalyzer_Activity

        ' Update the analysis results on the form.
        Me.UpdateResults(theStatus)
    End If

End Sub 'theInkAnalyzeMenuItem_Click
/// <summary>
/// The Ink menu's Analyze menu item's Click event handler.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void theInkAnalyzeMenuItem_Click(object sender, EventArgs e)
{
    // Only start ink analysis if the dirty region is not empty.
    if (!this.theInkAnalyzer.DirtyRegion.IsEmpty)
    {
        // Attach an activity event handler.
        this.theInkAnalyzer.Activity +=
            new Microsoft.Ink.ActivityEventHandler(
            theInkAnalyzer_Activity);

        // Perform the ink analysis.
        Microsoft.Ink.AnalysisStatus theStatus =
            this.theInkAnalyzer.Analyze();

        // Remove the activity event handler.
        this.theInkAnalyzer.Activity -=
            new Microsoft.Ink.ActivityEventHandler(
                theInkAnalyzer_Activity);

        // Update the analysis results on the form.
        this.UpdateResults(theStatus);
    }
}

플랫폼

Windows Vista

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

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

InkAnalyzer 클래스

InkAnalyzer 멤버

Microsoft.Ink 네임스페이스

InkAnalyzer.AnalysisModes

InkAnalyzer.DirtyRegion

InkAnalyzer.RootNode

InkAnalyzer.BackgroundAnalyze