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 在响应此方法时不引发 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