共用方式為


InkRecognizer 類別

提供對 InkAnalyzer 所使用之手寫辨識器的存取。

命名空間:  System.Windows.Ink
組件:  IAWinFX (在 IAWinFX.dll 中)

語法

'宣告
Public Class InkRecognizer _
    Implements IDisposable
'用途
Dim instance As InkRecognizer
public class InkRecognizer : IDisposable
public ref class InkRecognizer : IDisposable
public class InkRecognizer implements IDisposable
public class InkRecognizer implements IDisposable

備註

辨識器具有用來執行辨識的特定屬性 (Attribute) 和屬性 (Property)。辨識器的屬性 (Property) 必須在辨識發生之前決定。辨識器支援的屬性 (Property) 類型決定了它可以執行的辨識類型。例如,如果辨識器不支援草寫的手寫輸入,當使用者使用草寫時,它會傳回不正確的結果。

辨識器也有自動管理手寫輸入許多層面的內建功能。例如,它會判斷繪製筆劃之行的度量資訊。您可以傳回筆劃的行號,而因為辨識器內建功能的關係,您不需要指定判斷這些行度量的方式。

InkAnalyzer 會維護可用辨識器的 InkRecognizerCollection。若要存取這個集合,請使用 InkAnalyzerGetInkRecognizersByPriority 方法。

範例

下列範例會定義傳回字串的方法。這個字串包含指定之 InkRecognizer 的相關資訊。這個範例中未示範 Helper 方法 ListCapabilities,這個 Helper 方法會使用反映傳回 InkRecognizer 的功能相關資訊。

' <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 InkRecognizer) 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
        Dim lcid As Integer
        For Each lcid In theInkRecognizer.GetLanguages()
            Dim theCultureInfo As New System.Globalization.CultureInfo(lcid)
            result.AppendLine(String.Format("      0x{0:x4}: {1}", lcid, theCultureInfo.EnglishName))
        Next lcid
    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))

    result.AppendLine(String.Format("      {0} properties supported.", _
        theInkRecognizer.GetSupportedProperties().Length.ToString()))

    Return result.ToString()

End Function 'GetInkRecognizerData

/// <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(
    InkRecognizer 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));

    result.AppendLine(string.Format("      {0} properties supported.", 
        theInkRecognizer.GetSupportedProperties().Length.ToString()));

    return result.ToString();
}

繼承階層架構

System.Object
  System.Windows.Ink.InkRecognizer

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkRecognizer 成員

System.Windows.Ink 命名空間

System.Windows.Ink.InkRecognizerCollection

System.Windows.Ink.InkAnalyzer

System.Windows.Ink.AnalysisHintNode