Share via


InkAnalyzer.Analyze Method

Performs synchronous ink analysis.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Syntax

'Declaration
Public Function Analyze As AnalysisStatus
'Usage
Dim instance As InkAnalyzer 
Dim returnValue As AnalysisStatus 

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

Return Value

Type: Microsoft.Ink.AnalysisStatus
The status of the analysis operation.

Remarks

This method starts a synchronous ink analysis operation. Ink analysis includes layout analysis, writing and drawing classification, and handwriting recognition. The operation returns after the analysis operation is complete. The InkAnalyzer analyzes ink only within its DirtyRegion.

This method sets the InkAnalyzer object's DirtyRegion to an empty region. If another thread has added stroke data that has not been analyzed, the InkAnalyzer adds the bounding box of the unanalyzed strokes to its DirtyRegion during the reconcile phase of the analysis.

The InkAnalyzer does not raise the ResultsUpdated and IntermediateResultsUpdated events in response to this method.

To modify the way ink analysis is performed, use the InkAnalyzer object's AnalysisModes property.

For more information about ink analysis, see Ink Analysis Overview.

Examples

This example defines an event handler for a menu item's click event. The event handler performs synchronous ink analysis if the InkAnalyzer object's DirtyRegion is not empty. It attaches a InkAnalyzer.Activity event handler and performs the analysis. It then removes the event handler and calls a helper method, UpdateResults, to update the form with the results of the analysis.

''' <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);
    }
}

Platforms

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

InkAnalyzer Class

InkAnalyzer Members

Microsoft.Ink Namespace

InkAnalyzer.AnalysisModes

InkAnalyzer.DirtyRegion

InkAnalyzer.RootNode

InkAnalyzer.BackgroundAnalyze