Riconoscimento della grafia
In questa sezione vengono descritti gli elementi di base del riconoscimento relativamente all'input digitale nella piattaforma WPF.
Soluzioni di riconoscimento
Nell'esempio seguente viene illustrato come riconoscere l'input penna utilizzando InkAnalyzer.
Nota |
---|
Per questo esempio è necessario che il riconoscimento grafia sia installato nel sistema. |
Creare un nuovo progetto di applicazione WPF in Visual Studio 2005 denominato InkRecognition. Sostituire il contenuto del file Window1.xaml con il codice XAML seguente. Il codice esegue il rendering dell'interfaccia utente dell'applicazione.
<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>
Aggiungere un riferimento agli assembly di analisi dell'input penna di WPF, IAWinFX.dll, IACore.dll e IALoader.dll, disponibili in \\Programmi\\Reference Assemblies\\Microsoft\\Tablet PC\\v1 .7. Sostituire il contenuto del file code-behind con il codice seguente.
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");
}
}
}
}
Vedere anche
Riferimenti
InkAnalyzer
AnalysisStatus