我正在做一个基于平板电脑的项目,用户会写一个要解决的方程。
问题是我使用的识别器类InkAnalyzer
不能识别根符号或我输入的任何其他数学符号。有没有什么方法可以让我添加这样的功能?
基本上,我希望我的程序的功能很像windows 7自带的数学输入面板。哦,我是用c#写代码的
为c#中的MathInputControl加载链接
页面中提供的解决方案讨论了如何编程数学输入控制。
一旦你有你的数学公式在笔画的形式加载(你可以从InkCanvas控件获得它们-如果你不打算从其他地方读取它和构造笔画)到数学输入控制通过StylusPointCollection和存储到StrokeCollection类和流到ISF(墨水序列化格式)文件。
解决方案作者提供ISF文件给数学输入控制。在此之前,还需要管理数学输入窗口等。
我知道这不是你想听到的,但基本上你不能这样做。至少没有微软内部人士的帮助是不行的。为了实现这一点,您需要开发自己的语言识别器。据我所知,这样做的工具和文档没有提供给第三方。
但是,您可以开发自己的识别系统,利用System.Windows.Ink
API提供的现有的墨水收集和笔画模型,但它不能插入InkAnalyzer
模型。利用笔画信息将产生比简单的OCR类型系统更好的结果,在OCR类型系统中,您只是简单地分析形状。
如果微软能在System.Windows.Ink命名空间中公开他们的数学解析能力,那将是非常有用的,但随着这一功能的出现,微软放弃了平板电脑。然后iPad出现了,抢走了他们的午餐,现在谁知道我们是否还会再次看到对墨水输入的关注。