Compartir a través de


InkAnalyzerBase (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:  System.Windows.Ink.AnalysisCore
Ensamblado:  IACore (en IACore.dll)

Sintaxis

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

Comentarios

InkAnalyzerBase utiliza los datos de paquete de trazo para analizar la entrada manuscrita y no interactúa con los objetos de trazo o entrada manuscrita directamente.

Advertencia

Para evitar una pérdida de memoria, debe llamar explícitamente al método Dispose en cualquier objeto InkAnalyzerBase al que se haya asociado un controlador de eventos antes de que el objeto quede fuera de ámbito.

Para agregar o quitar trazos en el objeto InkAnalyzerBase para el análisis, utilice el método AddStroke, AddStrokes, RemoveStroke o RemoveStrokes. 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 InkAnalyzerBase 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, InkAnalyzerBase provoca varios eventos, incluidos los eventos generados durante el análisis en segundo plano en el subproceso en el que se crea el analizador. Muchos eventos InkAnalyzerBase admiten las características de proxy de datos del objeto InkAnalyzerBase. 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 SetStrokeLanguageId o SetStrokesLanguageId. Para modificar cómo el analizador de entrada manuscrita clasifica trazos específicos, utilice el método SetStrokeType o SetStrokesType.

El método InkAnalyzerBase carga todos los reconocedores de entrada manuscrita instalados. El método GetInkRecognizersByPriority devuelve una colección InkRecognizerBaseCollection que contiene cada objeto InkRecognizerBase disponible. Si más de un reconocedor de entrada manuscrita admite un idioma específico, utilice el método SetHighestPriorityInkRecognizer(InkRecognizer) para establecer qué reconocedor de entrada manuscrita controla los trazos de dicho idioma.

El uso de sugerencias de análisis puede mejorar la exactitud del reconocimiento, ya que proporciona contexto adicional al analizador de entrada manuscrita. La información de contexto adicional puede ayudar al analizador de entrada manuscrita a reducir el número de los resultados de reconocimiento posibles.  Por ejemplo, se puede reducir el ámbito mediante la definición de controles y palabras esperadas o mediante la estructuración de la entrada en una guía de reconocimiento. Para obtener más información sobre cómo proporcionar contexto al analizador 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 ContextNodeBase. 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 InkAnalyzerBase para analizar la entrada manuscrita, vea Ink Analysis Overview.

Ejemplos

En este ejemplo se inicializa un nuevo objeto InkAnalyzerBase, theInkAnalyzerBase. A continuación, establece la propiedad AnalysisModes y asocia un controlador de eventos UpdateStrokesCacheBase.

' Create the ink analyzer and enable automatic reconciliation and
' automatic stroke cache cleanup, but not intermediate results.
Dim theInkAnalyzerBase As New System.Windows.Ink.AnalysisCore.InkAnalyzerBase()
theInkAnalyzerBase.AnalysisModes = _
    System.Windows.Ink.AnalysisCore.AnalysisModes.AutomaticReconciliationEnabled _
    Or System.Windows.Ink.AnalysisCore.AnalysisModes.StrokeCacheAutoCleanupEnabled

' Since automatic stroke cache cleanup is enabled, add an event
' handler for the UpdateStrokesCacheBase event.
AddHandler theInkAnalyzerBase.UpdateStrokesCacheBase, _
    AddressOf theInkAnalyzerBase_UpdateStrokesCacheBase
// Create the ink analyzer and enable automatic reconciliation and
// automatic stroke cache cleanup, but not intermediate results.
System.Windows.Ink.AnalysisCore.InkAnalyzerBase theInkAnalyzerBase =
    new System.Windows.Ink.AnalysisCore.InkAnalyzerBase();
theInkAnalyzerBase.AnalysisModes =
    System.Windows.Ink.AnalysisCore.AnalysisModes.AutomaticReconciliationEnabled
    | System.Windows.Ink.AnalysisCore.AnalysisModes.StrokeCacheAutoCleanupEnabled;

// Since automatic stroke cache cleanup is enabled, add an event
// handler for the UpdateStrokesCacheBase event.
theInkAnalyzerBase.UpdateStrokesCacheBase +=
    new System.Windows.Ink.AnalysisCore.UpdateStrokesCacheBaseEventHandler(
        theInkAnalyzerBase_UpdateStrokesCacheBase);

Jerarquía de herencia

System.Object
  System.Windows.Ink.AnalysisCore.InkAnalyzerBase

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, Windows XP SP2, Windows Server 2003

.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

InkAnalyzerBase (Miembros)

System.Windows.Ink.AnalysisCore (Espacio de nombres)

System.Windows.Ink.AnalysisCore.AnalysisAlternateBase

System.Windows.Ink.AnalysisCore.AnalysisStatusBase

System.Windows.Ink.AnalysisCore.ContextLinkBase

System.Windows.Ink.AnalysisCore.ContextNodeBase