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 AnalysisStatus Analyze ()
public function Analyze () : AnalysisStatus
Not applicable.
Return Value
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.
Example
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 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
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