Share via


InkAnalyzer (Clase)

Actualización: noviembre 2007

Proporciona acceso al análisis del diseño, la clasificación de la escritura y el dibujo y el reconocimiento de la escritura a mano.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink.Analysis (en Microsoft.Ink.Analysis.dll)

Sintaxis

'Declaración
Public Class InkAnalyzer _
    Implements IDisposable
'Uso
Dim instance As InkAnalyzer
public class InkAnalyzer : IDisposable
public ref class InkAnalyzer : IDisposable
public class InkAnalyzer implements IDisposable
public class InkAnalyzer implements IDisposable

Comentarios

Para agregar o quitar trazos en el objeto InkAnalyzer para el análisis, utilice los métodos AddStroke, AddStrokes, RemoveStrokes o InkAnalyzer.RemoveStroke. Estos métodos actualizan la propiedad DirtyRegion, que es la región cuyos trazos se analizan en la siguiente operación de análisis.

Para analizar la entrada manuscrita, utilice el método BackgroundAnalyze o Analyze. Durante el análisis, el objeto InkAnalyzer realiza el análisis del diseño, la clasificación de los trazos y el reconocimiento de la escritura a mano.

Durante el análisis, el objeto InkAnalyzer provoca una serie de eventos. Establezca la propiedad SynchronizingObject para especificar el subproceso por el que el objeto InkAnalyzer provoca los eventos generados durante el análisis en segundo plano. Muchos eventos InkAnalyzer admiten las características de proxy de datos del objeto InkAnalyzer. Para obtener más información, vea Data Proxy with Ink Analysis.

Para detener el proceso de análisis desde un controlador de eventos, llame al método Abort.

Para modificar el idioma que utiliza el analizador de entrada manuscrita para reconocer la escritura a mano, utilice el método InkAnalyzer.SetStrokeLanguageId o InkAnalyzer.SetStrokesLanguageId. Para modificar cómo el analizador de entrada manuscrita clasifica trazos específicos, utilice el método InkAnalyzer.SetStrokeType o InkAnalyzer.SetStrokesType.

El método InkAnalyzer carga todos los reconocedores de entrada manuscrita instalados. El método GetInkRecognizersByPriority obtiene un objeto InkRecognizerCollection que contiene cada objeto InkRecognizer disponible. Si más de un reconocedor de entrada manuscrita admite un idioma específico, utilice el método SetAsHighestPriorityInkRecognizer para establecer qué reconocedor de entrada manuscrita controla los trazos de dicho idioma.

Para obtener información sobre cómo proporcionar contexto para la operación de análisis de entrada manuscrita, vea CreateAnalysisHint, DeleteAnalysisHint y GetAnalysisHints.

El analizador de entrada manuscrita representa los resultados del análisis como una cadena o un árbol de objetos ContextNode. Para tener acceso a la cadena reconocida, utilice el método GetRecognizedString. Para tener acceso a la raíz del árbol, utilice la propiedad RootNode. El analizador de entrada manuscrita dispone de los métodos siguientes para buscar nodos de contexto concretos o texto.

Para trabajar con resultados de análisis alternativos, utilice GetAlternates y ModifyTopAlternate.

Para guardar los resultados del análisis, utilice SaveResults. Para cargar los resultados guardados, utilice Load.

Para obtener más información sobre cómo utilizar el objeto InkAnalyzer para analizar la entrada manuscrita, vea Ink Analysis Overview.

Debe llamar explícitamente al método Dispose en cualquier objeto InkAnalyzer al que se haya asociado un controlador de eventos antes de que el objeto quede fuera de ámbito

Ejemplos

Este ejemplo realiza lo siguiente.

  • Inicializa un nuevo objeto Microsoft.Ink.Ink, theInk.

  • Asocia un controlador de eventos Ink.InkAdded, theInk_InkAdded, a theInk.

  • Inicializa una nueva instancia de InkAnalyzer, theInkAnalyzer, que puede analizar los datos de los trazos procedentes de theInk.

' Create the Ink for use with the InkCollector and attach
' event handlers.
Me.theInk = New Microsoft.Ink.Ink()
AddHandler Me.theInk.InkAdded, AddressOf theInk_InkAdded

' Create the InkAnalyzer.
Me.theInkAnalyzer = New Microsoft.Ink.InkAnalyzer(Me.theInk, Me)
// Create the Ink for use with the InkCollector and attach
// event handlers.
this.theInk = new Microsoft.Ink.Ink();
this.theInk.InkAdded +=
    new Microsoft.Ink.StrokesEventHandler(theInk_InkAdded);

// Create the InkAnalyzer.
this.theInkAnalyzer =
    new Microsoft.Ink.InkAnalyzer(this.theInk, this);

En este ejemplo, el controlador de eventos theInk_InkAdded toma los trazos que se han agregado a theInk y los agrega a theInkAnalyzer.

''' <summary>
''' The ink's InkAdded event handler.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Sub theInk_InkAdded( _
    ByVal sender As Object, ByVal e As Microsoft.Ink.StrokesEventArgs)

    ' This event handler is attached to an Ink object.
    Dim theInk As Microsoft.Ink.Ink = DirectCast(sender, Microsoft.Ink.Ink)

    ' Add the new strokes to the InkAnalyzer.
    Me.theInkAnalyzer.AddStrokes(theInk.CreateStrokes(e.StrokeIds))

End Sub 'theInk_InkAdded
/// <summary>
/// The ink's InkAdded event handler.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
void theInk_InkAdded(object sender, Microsoft.Ink.StrokesEventArgs e)
{
    // This event handler is attached to an Ink object.
    Microsoft.Ink.Ink theInk = sender as Microsoft.Ink.Ink;

    // Add the new strokes to the InkAnalyzer.
    this.theInkAnalyzer.AddStrokes(theInk.CreateStrokes(e.StrokeIds));
}

Jerarquía de herencia

System.Object
  Microsoft.Ink.InkAnalyzer

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

InkAnalyzer (Miembros)

Microsoft.Ink (Espacio de nombres)

Microsoft.Ink.AnalysisAlternate

Microsoft.Ink.AnalysisHintNode

Microsoft.Ink.AnalysisStatus

Microsoft.Ink.ContextLink

Microsoft.Ink.ContextNode