WPF4.0用tablet实现手写输入(更新XP SP3下也能手写输入方法)
原文:WPF4.0用tablet实现手写输入(更新XP SP3下也能手写输入方法)
由于项目需求一个手写输入的控件,纠结了2天,终于搞定了。
主要是由于本人的英语不过关,一直和ocr混淆在一起,研究了Tesseract-OCR,我说奇怪了号称老牌OCR新版本还支持中文,怎么效果这么差,必须写个标准楷体才能够识别...||-_-.。还以为不行,必须得花钱买汉王的东西了.....一不小心让我知道了有tablet这种东西,大家可以体验一下,通过右键任务栏--工具栏--Tablet PC 输入面板。识别率相当高啊,于是谷歌了一下table SDK(google更懂E文)

05年的资源,各种下啊,迅雷、旋风、IE都没下下来。后来用谷歌阅览器自带的下载搞定....(果然很懂),满怀欣喜地打开看demo,效果不错啊,一看源码...我勒个去,全是C++的,不愧是6年前的资源。
废话不说了进入正题,微软手写识别无非是用InkAnalyzer这个类,具体用法,msdn....但是.net4.0 System.Windows.Ink;中这个类已经不存在了,只有3.5的有。我msdn了下,手写识别无非用到IACore.dll IALoader.dll IAWinFX.dll这3个动态库,于是上 zhaodll.com下了。引用后果然可以用,可是运行时报错,a百度了下,原来在4.0里用3.5的库要在app.config里加入下面这句配置
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
OK,完美运行了。效果如图:


对我的草书的识别率相当不错啊,但是,默认会识别多个字符,导致“识”被拆分成两个字,跪求高手赐教,要怎么设置可以让它只识别一个字呢???
theInkAnalyer = new InkAnalyzer();
theInkAnalyer.AddStrokes(inkCanvs.Strokes);
theInkAnalyer.SetStrokesLanguageId(inkCanvs.Strokes,0x0804);
theInkAnalyer.SetStrokesType(inkCanvs.Strokes, StrokeType.Writing);
AnalysisStatus status = theInkAnalyer.Analyze();
if (status.Successful)
{
textBox1.Text = theInkAnalyer.GetRecognizedString();
for (int i = ; i < theInkAnalyer.GetAlternates().Count; i++)
{
textBox2.Text += theInkAnalyer.GetAlternates()[i].RecognizedString;
}
}
else
{
MessageBox.Show("识别失败");
}
3个识别动态库下载
引用后就可以直接调用 InkAnalyzer 这个类了,具体用法自己msdn
更新
由于项目需求必须在XP SP3的操作系统上使用,会出现无法识别,上网找了点教程,貌似实现都很复杂,有的说重装了20次系统才搞定.....有点夸大其词了。
我找了某个比较新的教程,前后在虚拟机上尝试了4遍,总结了最简洁的方法:
inf里面的几个文件全部拷贝到windows的inf目录,tabletpc.rar里面的文件建议放到C:\i386,等下方便找。
.运行1.reg,导入注册表后重启
.运行3.cmd,弹出需要文件的窗口时,单击“浏览”,定位到tabletpc.rar的解压目录。安装过程中会出现无法识别XP版本问题,点“取消”,再点“是”。忽略掉。
.完成后重启搞定,可以用官方测试软件试下看看搞定否。
我前后试了4次,尽管方法不同但是,没有一次是会导致系统蹦掉的。
用到的文件打包下载:http://dl.dbank.com/c0cwngvxui

WPF4.0用tablet实现手写输入(更新XP SP3下也能手写输入方法)的更多相关文章
- MDAC 在WINDOWS XP SP3 不能安装 的解决方法
MDAC 在WINDOWS XP SP3 不能安装 的解决方法 解决步骤如下: c:/windows/inf 下找出mdac.inf 然后点右键->安装.在弹出提示路径选取c:/windows/ ...
- Windows XP SP3下成功编译CUint2.1-3
软件环境:Visual C++ 6.0 操作系统:Windows XP SP3 从sourceforge.net下载CUint-2.1-3.tar.bz解压出目录CUnit-2.1-3 从CUint打 ...
- Windows XP SP3下编译安装check-0.10.0
软件环境:visual studio 2010 cmake-3.6.3-win32-x86 从github.com下载check-0.10.0到本地,解压出目录check-0.10.0 下载cmake ...
- Windows XP SP3下编译安装openssl-1.1.0b
软件需要: openssl-1.1.0b visual studio 2010(cn_visual_studio_2010_ultimate_x86_dvd_532347.iso) perl:Acti ...
- Thinkphp5.0 的使用模型Model更新数据
Thinkphp5.0 的使用模型Model更新数据 (1)使用update()方法进行更新数据 一.where条件写在更新数据中 (这种情况更新的数据,必须含主键) $res = User::upd ...
- 让VC6.0编译出来的程序支持XP样式或XP风格
(1)VC6.0编译出来的win32程序不支持winxp样式的原因:微软WINXP系统更新了Comctl32.dll(ver 6.0)这个“XP风格”的控件.为了保留传统的Windows界面风格,特地 ...
- ModernUI教程:使用WPF4.0
Modern UI 同时支持WPF4.0和4.5.下载包中包含了这两个版本的程序集.当你使用Nuget下载时,会根据你选择的运行时版本自动选择对应的版本下载.而Visual Studio2012的模板 ...
- XP .Net 4.0使用Microsoft.Bcl需要安装XP补丁NDP40-KB2468871-v2-x86
XP .Net 4.0使用Microsoft.Bcl需要安装XP补丁NDP40-KB2468871-v2-x86
- xp sp3安装.Net 4.0提示严重错误,0x80070643,解决办法2017版
客户电脑上要装金税开票软件,需要.net 4.0.30319.1,电脑环境是xp sp3,已经安装了.net 2, .net 3.5sp1,安装.net 4.0的时候提示错误0x80070643 因为 ...
随机推荐
- 百度地图坐标之间的距离php
function GetDistance($lat1, $lng1, $lat2, $lng2){ define('PI',3.1415926535898); define('EARTH_RADIUS ...
- [Angular] Auxiliary named router outlets
Define a auxilliary router: export const ROUTES: Routes = [ { path: 'folder/:name', component: MailF ...
- ios开发之多线程---GCD
一:基本概念 1:进程:正在运行的程序为进程. 2:线程:每个进程要想执行任务必须得有线程,进程中任务的执行都是在线程中. 3:线程的串行:一条线程里任务的执行都是串行的,假如有一个进程开辟了一条线程 ...
- 深度学习代码注解(一)—— mnistdeepauto
clear all close all %% 1:参数设置 maxepoch=10; %In the Science paper we use maxepoch=50, but it works ju ...
- C#+HtmlAgilityPack
C#+HtmlAgilityPack—糗事百科桌面版V2.0 最近在浏览以前自己上传的源码,发现在糗事百科桌面端源码评论区中,有人说现在程序不能用了.查看了一下源码运行情况,发现是正则表达式解析问 ...
- java十五个常用类学习及方法举例
<code class="language-java">import java.util.Scanner; import java.util.Properties; i ...
- 数据结构 Tricks(一)—— 父节点和左右孩子索引号之间的关系
如果以第 0 个位置开始标记树根节点,则第 i 个结点的左右孩子分别为: 2i+1 2i+2 反之,如果一个结点的标号为 i,则其父节点为: i/2:i 为左孩子结点: i/2-1:i 为右孩子结点: ...
- LaunchImage启动黑屏-模拟器可以,但是真机黑屏
名称和尺寸都是对的,就是不显示.结果美工重新做一张图片就行了,想了半天都没想到是图片本身等问题啊
- 机房重构所遇问题"未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件"的解决的方法集锦
敲七层登录的时候.忽然间认为敲三层搞清的思路瞬间又凌乱了.花了一天的时间边敲边梳理,最终整完了,执行的时候弹出了这种错误:未能载入文件或程序集"DAL"或它的某一个依赖项. 系统找 ...
- 改变事件绑定的this的问题
以标准的DOM2级事件为例,第二个参数是一个函数,咱们改成bind,看看之后的this是啥. <!DOCTYPE html> <html lang="en"> ...