次の方法で共有


InkAnalyzer.Analyze メソッド

同期インク分析を実行します。

名前空間 :  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
分析処理のステータス。

解説

このメソッドは、同期インク分析処理を開始します。インク分析には、レイアウト分析、書き込みと描画分類、および手書き認識が含まれます。分析処理が完了した後、その処理に戻ります。InkAnalyzer は、その DirtyRegion 内でのみインクを分析します。

このメソッドは、InkAnalyzer オブジェクトの DirtyRegion を空の領域に設定します。別のスレッドが、分析されていないストローク データを追加した場合、InkAnalyzer は、分析の調整段階で、分析されていないストロークの境界ボックスをその DirtyRegion に追加します。

InkAnalyzer は、このメソッドに応答して ResultsUpdated および IntermediateResultsUpdated イベントを発生させません。

インク分析の実行方法を変更するには、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