التعرف على خط اليد
يناقش هذا القسم أساسيات التعرف المتعلقة بالحبر الرقمى فى النظام الأساسى 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