Freigeben über


InkRecognizerBase-Klasse

Bietet Zugriff auf Handschrifterkennungsmodule, die zur Freihandanalyse verwendet werden sollen.

Namespace:  System.Windows.Ink.AnalysisCore
Assembly:  IACore (in IACore.dll)

Syntax

'Declaration
Public Class InkRecognizerBase _
    Implements IDisposable
'Usage
Dim instance As InkRecognizerBase
public class InkRecognizerBase : IDisposable
public ref class InkRecognizerBase : IDisposable
public class InkRecognizerBase implements IDisposable
public class InkRecognizerBase implements IDisposable

Hinweise

Ein Erkennungsmodul weist spezifische Attribute und Eigenschaften auf, die den Erkennungsvorgang ermöglichen. Bevor eine Erkennung erfolgen kann, müssen die Eigenschaften des Erkennungsmoduls bestimmt werden. Die von einem Erkennungsmodul unterstützten Eigenschaftentypen bestimmen, welche Arten von Erkennung es ausführen kann. Wenn ein Erkennungsmodul beispielsweise keine kursive Handschrift unterstützt, werden bei der Eingabe von Kursivschrift ungenaue Ergebnisse zurückgegeben.

Ein Erkennungsmodul verfügt außerdem über integrierte Funktionen, mit denen viele Aspekte der Handschrifteingabe automatisch verwaltet werden. Beispielsweise wird die Metrik für die Zeilen bestimmt, auf denen Striche gezeichnet werden. Sie können die Zeilennummer eines Strichs zurückgeben, aufgrund der integrierten Funktionalität des Erkennungsmoduls müssen Sie jedoch niemals angeben, wie diese Zeilenmetriken bestimmt werden.

Das InkAnalyzerBase-Objekt verwaltet eine InkRecognizerBaseCollection-Auflistung der verfügbare Erkennungsmodule. Um auf diese Auflistung zuzugreifen, verwenden Sie die GetInkRecognizersByPriority-Methode von InkAnalyzerBase.

Beispiele

Im folgenden Beispiel wird eine Methode definiert, die eine Zeichenfolge mit Informationen über ein angegebenes InkRecognizerBase-Objekt zurückgibt. In diesem Beispiel werden die Hilfsmethoden ListCapabilities und GetPropertyName nicht dargestellt, die mithilfe der Reflexion Informationen über bestimmte Funktionen und Eigenschaften von InkRecognizerBase zurückgeben.

''' <summary>
''' Generates a string containing information about the specified InkRecognizer.
''' </summary>
''' <param name="theInkRecognizer">
''' The InkRecognizer from which to gather the information.
''' </param>
''' <returns>
''' A string containing information about the specified InkRecognizer.
''' </returns>
Private Function GetInkRecognizerData( _
    ByVal theInkRecognizer As System.Windows.Ink.AnalysisCore.InkRecognizerBase) As String

    ' Create a StringBuilder in which to collect the information.
    Dim result As New System.Text.StringBuilder

    ' Add the name of the recognizer.
    result.AppendLine(String.Format("Name: {0}", theInkRecognizer.Name))

    ' Add the GUID of the recognizer.
    result.AppendLine(String.Format("   Guid: {0}", theInkRecognizer.Guid))

    ' Add the vendor of the recognizer.
    result.AppendLine(String.Format("   Vendor: {0}", theInkRecognizer.Vendor))

    ' Add the languages the recognizer supports.
    result.AppendLine("   Supports the following languages:")
    If (0 = theInkRecognizer.GetLanguages().Length) Then
        result.AppendLine("      No languages supported.")
    Else
        For Each lcid As Integer In theInkRecognizer.GetLanguages()
            Dim theCultureInfo As New System.Globalization.CultureInfo(lcid)
            result.AppendLine(String.Format( _
                "      0x{0:x4}: {1}", lcid, theCultureInfo.EnglishName))
        Next
    End If

    ' Add the capabilities of the recognizer.
    result.AppendLine(String.Format( _
        "   Capabilities: 0x{0:x}", theInkRecognizer.Capabilities))

    ' List each capability separately, using a helper method.
    result.Append(Me.ListCapabilities(theInkRecognizer.Capabilities))

    ' Add the properties the recognizer supports.
    result.AppendLine("   Supports the following properties:")
    If (0 = theInkRecognizer.GetSupportedProperties().Length) Then
        result.AppendLine("      No properties supported.")
    Else
        For Each theGuid As System.Guid In theInkRecognizer.GetSupportedProperties()
            ' Use the helper method to get the name of the property.
            result.AppendLine("      " + Me.GetPropertyName(theGuid))
        Next
    End If

    Return result.ToString()
End Function
        /// <summary>
        /// Generates a string containing information about the specified InkRecognizer.
        /// </summary>
        /// <param name="theInkRecognizer">
        /// The InkRecognizer from which to gather the information.
        /// </param>
        /// <returns>
        /// A string containing information about the specified InkRecognizer.
        /// </returns>
        private string GetInkRecognizerData(
            System.Windows.Ink.AnalysisCore.InkRecognizerBase theInkRecognizer)
        {
            // Create a StringBuilder in which to collect the information.
            System.Text.StringBuilder result = new System.Text.StringBuilder();

            // Add the name of the recognizer.
            result.AppendLine(string.Format(
                "Name: {0}", theInkRecognizer.Name));

            // Add the GUID of the recognizer.
            result.AppendLine(string.Format(
                "   Guid: {0}", theInkRecognizer.Guid));

            // Add the vendor of the recognizer.
            result.AppendLine(string.Format(
                "   Vendor: {0}", theInkRecognizer.Vendor));

            // Add the languages the recognizer supports.
            result.AppendLine("   Supports the following languages:");
            if (0 == theInkRecognizer.GetLanguages().Length)
            {
                result.AppendLine("      No languages supported.");
            }
            else
            {
                foreach (int lcid in theInkRecognizer.GetLanguages())
                {
                    System.Globalization.CultureInfo theCultureInfo =
                        new System.Globalization.CultureInfo(lcid);
                    result.AppendLine(string.Format(
                        "      0x{0:x4}: {1}", lcid, theCultureInfo.EnglishName));
                }
            }

            // Add the capabilities of the recognizer.
            result.AppendLine(string.Format(
                "   Capabilities: 0x{0:x}", theInkRecognizer.Capabilities));

            // List each capability separately, using a helper method.
            result.Append(this.ListCapabilities(theInkRecognizer.Capabilities));

            // Add the properties the recognizer supports.
            result.AppendLine("   Supports the following properties:");
            if (0 == theInkRecognizer.GetSupportedProperties().Length)
            {
                result.AppendLine("      No properties supported.");
            }
            else
            {
                foreach (System.Guid theGuid in theInkRecognizer.GetSupportedProperties())
                {
                    // Use the helper method to get the name of the property.
                    result.AppendLine("      " + this.GetPropertyName(theGuid));
                }
            }

            return result.ToString();
        }

Vererbungshierarchie

System.Object
  System.Windows.Ink.AnalysisCore.InkRecognizerBase

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

InkRecognizerBase-Member

System.Windows.Ink.AnalysisCore-Namespace

System.Windows.Ink.AnalysisCore.InkRecognizerBaseCollection

Microsoft.Ink.InkAnalyzer

System.Windows.Ink.AnalysisHintNode

System.Windows.Ink.AnalysisCore.PropertyGuidsForAnalysisHintsBase