مشاركة عبر


التعرف على خط اليد

يناقش هذا القسم أساسيات التعرف المتعلقة بالحبر الرقمى فى النظام الأساسى WPF.

حلول التعرف

يوضح المثال التالي كيفية التعرف على حبر باستخدام InkAnalyzer.

ملاحظةملاحظة

تتطلب هذه العينة تثبيت أدوات التعرف على الكتابة اليدوية على النظام.

إنشاء a جديد WPF تطبيق مشروع في ‏‫‏‫Visual Studio 2005 called InkRecognition. استبدل محتويات الملف Window1.xaml بالتعليمات البرمجية الـ XAML التالية. تقوم هذه التعليمات البرمجية بتخزين واجهة المستخدم الخاصة بالتطبيق

<Window x:Class="InkRecognition.Window1"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
    Title="InkRecognition" 
    >
  <Canvas Name="theRootCanvas">
    <Border
      Background="White"
      BorderBrush="Black"
      BorderThickness="2"
      Height="300"
      Width="300"
      Canvas.Top="10"
      Canvas.Left="10">
      <InkCanvas Name="theInkCanvas"></InkCanvas>
    </Border>
    <TextBox Name="textBox1"
      Height="25"
      Width="225"
      Canvas.Top="325"
      Canvas.Left="10"></TextBox>
    <Button
      Height="25"
      Width="75"
      Canvas.Top="325"
      Canvas.Left="235"
      Click="buttonClick">Recognize</Button>
  </Canvas>
</Window>

إضافة a مرجع إلى the WPF حبر تحليل تجميعات, IAWinFX.dll, IACore.dll, و IALoader.dll, which can be found في \برنامج ملفات\مرجع تجميعات\Microsoft\كمبيوتر لوحي\v1.7. استبدال the المحتويات of the تعليمات برمجية behind ملف مع the following تعليمات برمجية.

Imports System.Windows
Imports System.Windows.Ink

'/ <summary>
'/ Interaction logic for Window1.xaml
'/ </summary>

Namespace InkRecognition

    Class Window1
        Inherits Window


        Public Sub New()
            InitializeComponent()

        End Sub 'New


        ' Recognizes handwriting by using RecognizerContext
        Private Sub buttonClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
            Dim theInkAnalyzer As New InkAnalyzer()

            theInkAnalyzer.AddStrokes(theInkCanvas.Strokes)

            Dim status As AnalysisStatus = theInkAnalyzer.Analyze()

            If status.Successful Then
                textBox1.Text = theInkAnalyzer.GetRecognizedString()
            Else
                MessageBox.Show("Recognition Failed")
            End If

        End Sub 'buttonClick
    End Class 'Window1 
End Namespace

using System.Windows;
using System.Windows.Ink;

namespace InkRecognition
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>

    public partial class Window1 : Window
    {

        public Window1()
        {
            InitializeComponent();
        }

        // Recognizes handwriting by using RecognizerContext
        private void buttonClick(object sender, RoutedEventArgs e)
        {
            InkAnalyzer theInkAnalyzer = new InkAnalyzer();

            theInkAnalyzer.AddStrokes(theInkCanvas.Strokes);

            AnalysisStatus status = theInkAnalyzer.Analyze();

            if (status.Successful)
            {
                textBox1.Text = theInkAnalyzer.GetRecognizedString();
            }
            else
            {
                MessageBox.Show("Recognition Failed");
            }
        }

    }
}

راجع أيضًا:

المرجع

InkAnalyzer

AnalysisStatus

InkCanvas