Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
inkpictureで認識したstrokeを知りたいです。
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30583#CommentId84364
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
snowmansnow
 (社会人)
投稿日時
2021/1/31 23:09:40
こんにちは
るきお様、いつもありがとうございます。
こんな感じで
入門編の最初のビデオのようにForm1をダブルクリックして、コードのところに記載してみました。
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.IO
Imports Microsoft.Ink
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
''http://blog.wdnet.jp/tech/archives/129
Visible = False
'http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=30583
'https://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=2922&forum=7
Using inkP As InkPicture = New Microsoft.Ink.InkPicture
Dim fileName As String
fileName = InputBox("ファイル")
Dim fs As FileStream = New FileStream(fileName, FileMode.Open)
Dim isfData() As Byte = New Byte((fs.Length) - 1) {}
fs.Read(isfData, 0, isfData.Length)
' Inkが有効な間は変更できない
inkP.InkEnabled = False
' 読み込んだISF形式を反映
inkP.Ink.Dispose()
inkP.Ink = New Microsoft.Ink.Ink
inkP.Ink.Load(isfData)
' ISF形式の反映後にInkを有効にする
inkP.InkEnabled = True
' 読み込み後にコントロールを再描画する
' inkP.Refresh();
' インストールされている手書き認識エンジンの取得
Dim recognizers As Recognizers = New Recognizers
Dim recognizersEnum As Recognizers.RecognizersEnumerator = recognizers.GetEnumerator
Dim recognizer As Recognizer = recognizers.GetDefaultRecognizer
'http://tabletpc.comgate.jp/?eid=313733
' InkPictureの手書きを認識する
Dim context As RecognizerContext = recognizer.CreateRecognizerContext
context.Strokes = inkP.Ink.Strokes
context.EndInkInput()
Dim status As RecognitionStatus
Dim result As RecognitionResult = context.Recognize(status)
If (status <> RecognitionStatus.NoError) Then
MessageBox.Show(("認識に失敗しました:" + status))
Return
End If
Dim ResultString As String
ResultString = ""
Dim alts As Object
' Dim alt As Object
alts = result.GetAlternatesFromSelection
For Each alt In alts
ResultString = ResultString & alt.ToString & Environment.NewLine
Next alt
' 認識した文字を表示する
MessageBox.Show(ResultString)
End Using
End Sub
End Class
インプットボックスに、フォルダとファイル名を入れると認識結果が出ますが、
その後、フォームが表示されてしまいます。