Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
inkpictureで認識したstrokeを知りたいです。
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30583#CommentId84365
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
snowmansnow
 (社会人)
投稿日時
2021/1/31 23:11:12
こんばんはるきお様
クラスの方は
’https://www.atmarkit.co.jp/fdotnet/dotnettips/1063vbausedotnet/vbausedotnet.html
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports Microsoft.Ink
Imports System.Net
<ComClass(Classink.ClassId, Classink.InterfaceId, Classink.EventsId)>
Public Class Classink
' COM用のGUID値
Public Const ClassId As String = "D7EE4614-31D0-4E73-A6D5-9294429EAC55"
Public Const InterfaceId As String = "93C1FA0E-039A-4DD6-BF4B-73D89B58216B"
Public Const EventsId As String = "78EF3B83-6701-413E-BF3E-CFAA51B572A5"
Public Function Main()
Dim Test As New Classink
Test.Load()
Test.Recognize()
Main = "Done"
End Function
Dim inkP As InkPicture = New Microsoft.Ink.InkPicture
Dim fileName As String = InputBox("ファイル")
Public Sub Load()
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();
' インストールされている手書き認識エンジンの取得
End Sub
Public Sub Recognize()
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
MsgBox("認識に失敗しました:" + status)
'https://dobon.net/vb/dotnet/form/msgbox.html
Return
End If
' 認識した文字を表示する
MsgBox(result.TopString)
End Sub
End Class
るきお様の入門編や初級編をすこしかじって変更してみました。
で、コンパイルエラーが出ています・・・ inkがダメとか(32bit?)、管理者権限とか(これは右ボタンで?)
出来たと思う時(32bit?)も、エクセルで参照できてなかったり・・・
対症的に色々試して、何がなんだか?こんがらがってます。