原贴:http://www.cnblogs.com/geovindu/p/3702427.html

下載:
//Microsoft Windows XP Tablet PC Edition 2005 Recognizer Pack http://www.microsoft.com/zh-cn/download/details.aspx?id=1601 //包各种语言包
//Microsoft Windows XP Tablet PC Edition Software Development Kit 1.7 http://www.microsoft.com/en-us/download/details.aspx?id=20039
* Microsoft Speech Platform - Software Development Kit (SDK) (Version ) http://www.microsoft.com/en-us/download/details.aspx?id=27226
* Microsoft SDKs http://msdn.microsoft.com/en-us/dd299405.aspx
*Microsoft.Ink 命名空间 http://msdn.microsoft.com/zh-cn/library/microsoft.ink%28v=vs.90%29.aspx
* Microsoft Ink Desktop for Windows Vista http://www.microsoft.com/zh-CN/download/details.aspx?id=6023
* http://msdn.microsoft.com/en-us/data/ms695600(v=vs.71)
* Microsoft.Ink.dll CLR2. Update (KB900722) http://www.microsoft.com/zh-cn/download/details.aspx?id=22557
* Update for Tablet PC Microsoft Ink and .Net Framework 2.0 compatibility.
* Microsoft.Ink The following tables list the members exposed by the Microsoft.Ink namespace.
* http://msdn.microsoft.com/en-us/library/ms826516.aspx
*
* 安裝的文件在://Program Files\Microsoft Tablet PC Platform SDK\Include\Microsoft.Ink.dll
* 在Windows XP sp3 環境下測試
*/ using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Microsoft.Ink;////引用:Micosoft Tablet PC
//using Microsoft.Ink.Analysis;//Windows Vista namespace XPTabletPC
{
/// <summary>
/// 手写识别
/// </summary>
public partial class Form2 : Form
{
InkCollector ic;
RecognizerContext rct;
// Recognizer rc;
string FullCACText; /// <summary>
///
/// </summary>
public Form2()
{
InitializeComponent();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form2_Load(object sender, EventArgs e)
{
//this.rct.RecognitionWithAlternates += new RecognizerContextRecognitionWithAlternatesEventHandler(rct_RecognitionWithAlternates); ic = new InkCollector(PictureboxInk.Handle);
this.ic.Stroke += new InkCollectorStrokeEventHandler(ic_Stroke); ic.Enabled = true;
ink_(); // this.ic.Stroke += new InkCollectorStrokeEventHandler(ic_Stroke);
this.rct.RecognitionWithAlternates += new RecognizerContextRecognitionWithAlternatesEventHandler(rct_RecognitionWithAlternates); rct.Strokes = ic.Ink.Strokes; }
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void rct_RecognitionWithAlternates(object sender, RecognizerContextRecognitionWithAlternatesEventArgs e)
{ string ResultString = "";
RecognitionAlternates alts; if (e.RecognitionStatus == RecognitionStatus.NoError)
{
alts = e.Result.GetAlternatesFromSelection(); foreach (RecognitionAlternate alt in alts)
{
ResultString = ResultString + alt.ToString() + " ";
}
}
FullCACText = ResultString.Trim();
Control.CheckForIllegalCrossThreadCalls = false;
textBox1.Text = FullCACText;
returnString(FullCACText);
Control.CheckForIllegalCrossThreadCalls = true; }
/// <summary>
///
/// </summary>
/// <param name="str"></param>
private void returnString(string str)
{
string[] str_temp = str.Split(' ');
string str_temp1 = "shibie_";
string str_temp2 = "";
if (str_temp.Length > )
{
for (int i = ; i < str_temp.Length; i++)
{
str_temp2 = str_temp1 + i.ToString();
Control[] con_temp = Controls.Find(str_temp2, true);
if (con_temp.Length > )
{
((Button)(con_temp[])).Text = str_temp[i];
}
}
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void ic_Stroke(object sender, InkCollectorStrokeEventArgs e)
{
rct.StopBackgroundRecognition();
rct.Strokes.Add(e.Stroke);
rct.CharacterAutoCompletion = RecognizerCharacterAutoCompletionMode.Full;
rct.BackgroundRecognizeWithAlternates();
}
/// <summary>
///
/// </summary>
private void ink_()
{
Recognizers recos = new Recognizers();
Recognizer chineseReco = recos.GetDefaultRecognizer(); rct = chineseReco.CreateRecognizerContext();
}
/// <summary>
///
/// </summary>
private void ic_Stroke()
{ }
/// <summary>
/// 获取字
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
this.textBox1.Text = ""; textBox1.SelectedText = ic.Ink.Strokes.ToString();
/* if (0 == rc.Count)
{
MessageBox.Show("There are no handwriting recognizers installed. You need to have at least one in order to recognize ink.");
}
else
{ // Note that the Strokes' ToString() method is a
// shortcut for retrieving the best match using the
// default recognizer. The same result can also be
// obtained using the RecognizerContext. For an
// example, uncomment the following lines of code:
//
RecognizerContext myRecoContext = new RecognizerContext();
myRecoContext.CharacterAutoCompletion = RecognizerCharacterAutoCompletionMode.Full;
RecognitionStatus status;
RecognitionResult recoResult;
//
myRecoContext.Strokes = ic.Ink.Strokes;
recoResult = myRecoContext.Recognize(out status);
textBox1.SelectedText = recoResult.TopString;
// // textBox1.SelectedText = ic.Ink.Strokes.ToString();
}*/
}
/// <summary>
/// 清除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
if (!ic.CollectingInk)
{
Strokes strokesToDelete = ic.Ink.Strokes;
rct.StopBackgroundRecognition();
ic.Ink.DeleteStrokes(strokesToDelete);
rct.Strokes = ic.Ink.Strokes;
ic.Ink.DeleteStrokes();//清除手写区域笔画;
PictureboxInk.Refresh();//刷新手写区域
} }
/// <summary>
/// 选择颜色
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
colorDialog1.FullOpen = true;
colorDialog1.ShowDialog();
ic.DefaultDrawingAttributes.Color = colorDialog1.Color; } }
}
   

Tablet PC InkEdit Control

http://www.c-sharpcorner.com/UploadFile/mahesh/InkEdit11042005152237PM/InkEdit.aspx

https://msdn.microsoft.com/zh-cn/ms839536

[转]csharp:Microsoft.Ink 手写识别(HandWriting Recognition)的更多相关文章

  1. csharp:Microsoft.Ink 手写识别(HandWriting Recognition)

    /* 下載: //Microsoft Windows XP Tablet PC Edition 2005 Recognizer Pack http://www.microsoft.com/zh-cn/ ...

  2. 背水一战 Windows 10 (62) - 控件(媒体类): InkCanvas 保存和加载, 手写识别

    [源码下载] 背水一战 Windows 10 (62) - 控件(媒体类): InkCanvas 保存和加载, 手写识别 作者:webabcd 介绍背水一战 Windows 10 之 控件(媒体类) ...

  3. 2019-11-20-WPF-使用-MyScript-的-IInk-做手写识别

    title author date CreateTime categories WPF 使用 MyScript 的 IInk 做手写识别 lindexi 2019-11-20 08:18:26 +08 ...

  4. 【Win 10 应用开发】手写识别

    记得前面(忘了是哪天写的,反正是前些天,请用力点击这里观看)老周讲了一个14393新增的控件,可以很轻松地结合InkCanvas来完成涂鸦.其实,InkCanvas除了涂鸦外,另一个大用途是墨迹识别, ...

  5. AI应用开发实战 - 手写识别应用入门

    AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等.但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手.本文从简单的MNIST训练出 ...

  6. (五) Keras Adam优化器以及CNN应用于手写识别

    视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 Adam,常 ...

  7. JS / Egret 单笔手写识别、手势识别

    UnistrokeRecognizer 单笔手写识别.手势识别 UnistrokeRecognizer : https://github.com/RichLiu1023/UnistrokeRecogn ...

  8. (手写识别) Zinnia库及其实现方法研究

    Zinnia库及其实现方法研究 (转) zinnia是一个开源的手写识别库.采用C++实现.具有手写识别,学习以及文字模型数据制作转换等功能. 项目地址 [http://zinnia.sourcefo ...

  9. android 开源 OCR 项目 及手写识别

    http://blog.csdn.net/archfree/article/details/6023676 1)一个为Android平台,将识别由手机的相机拍摄的图像文本应用程序. http://co ...

随机推荐

  1. LeetCode OJ:Valid Number

    Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => ...

  2. Java通过class文件得到所在jar包

    今天遇到一个问题,需要通过知道的class文件得到该文件所在的jar包,试过很多办法都不行,最后在网上找到了一个解决办法,如下: demo.java 1 2 String path = XXX.cla ...

  3. Installing MIB in Ubuntu and Solving the Error “SNMP Cannot Find Module …”

    Has noticed an error after executing the command snmpwalk with the indication of MIB instead of OID: ...

  4. php 无限极分类问题

  5. AR.Drone 2.0四轴飞机体验:最好的玩具航拍器

    http://digi.tech.qq.com/a/20140513/007458.htm?pgv_ref=aio2012&ptlang=2052 AR.Drone 2.0四轴飞机体验:最好的 ...

  6. P2S、P2P、P2SP之对比

    P2S.P2P.P2SP之对比 一.下载原理分析 1.服务端下载技术(P2S):P2S下载方式分为HTTP与FTP两种类型,它们分别是Hyper Text Transportation Protoco ...

  7. OC基础:类和对象 分类: ios学习 OC 2015-06-12 18:55 17人阅读 评论(0) 收藏

    OC:Objective-c     面向对象的c语言,简称obj-c或者OC OC和C的区别 1.OC是C语言的超集,OC是在C语言的基础上结合smalltalk的优点,开发出来的语言.oc兼容所有 ...

  8. 图解SQL的inner join、left join、right join、full outer join、union、union all的区别【转载】

    对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...

  9. 如何在magento添加推荐分类

    Magento Featured Category推荐分类模块安装 1.下载Magento Featured Categories Extension,下载地址:http://www.storefro ...

  10. Linux C socket 封装

    /************************************************************************** * Linux C socket 封装 * 声明 ...