Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta aplikacja pokazuje, jak utworzyć aplikację rozpoznawania pisma ręcznego. Zestaw Windows Vista SDK udostępnia również wersje tego przykładu w językach C# i Visual Basic .NET. Ten temat nawiązuje do przykładu Visual Basic .NET, ale pojęcia są takie same między wersjami.
Uzyskiwanie dostępu do interfejsów komputerów typu Tablet
Najpierw należy odwołać się do interfejsów API komputerów typu tablet, które są zainstalowane z zestawem SDK.
' The Ink namespace, which contains the Tablet PC Platform API
Imports Microsoft.Ink
Inicjowanie inkcollectora
Przykład dodaje kod do programu obsługi zdarzeń Load formularza, który służy do skojarzenia InkCollector, myInkCollector z oknem pola grupy i włączeniem modułu InkCollector.
Private Sub InkRecognition_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Create the recognizers collection
myRecognizers = New Recognizers()
' Create an ink collector that uses the group box handle
myInkCollector = New InkCollector(gbInkArea.Handle)
' Turn the ink collector on
myInkCollector.Enabled = True
End Sub
Rozpoznawanie udaru
Obsługa zdarzeń kliknięcia obiektu przycisku Click sprawdza, czy użytkownik ma zainstalowane co najmniej jedno rozpoznawanie mowy, sprawdzając właściwość Count kolekcji Recognizers.
Właściwość SelectedText pola tekstowego jest ustawiana na najlepsze dopasowanie pociągnięć w kolekcji Strokes, korzystając z metody ToString. Po rozpoznaniu pociągnięć zostają usunięte. Na koniec kod wymusza ponowne malowanie obszaru, oczyszczając go na potrzeby dalszego użycia tuszu.
Private Sub btnRecognize_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRecognize.Click
' Check to ensure that the user has at least one recognizer installed
' Note that this is a preventive check - otherwise, an exception
' occurs during recognition
If 0 = myRecognizers.Count Then
MessageBox.Show("There are no handwriting recognizers installed. You need to have at least one in order to run this sample.")
Else
' ...
txtResults.SelectedText = myInkCollector.Ink.Strokes.ToString
' If the mouse is pressed, do not perform the recognition -
' this prevents deleting a stroke that is still being drawn
If Not myInkCollector.CollectingInk Then
' Delete the ink from the ink collector
myInkCollector.Ink.DeleteStrokes(myInkCollector.Ink.Strokes)
' Force the Frame to redraw (so the deleted ink goes away)
gbInkArea.Refresh()
End If
End If
End Sub
Zamykanie formularza
Metoda dispose formularza usuwa obiekt InkCollector.