我正在为基于平板电脑的PC做一个项目,用户可以在其中编写要解决的等式。
问题是我使用的识别器类InkAnalyzer
无法识别我输入的根符号或任何其他数学符号。我有什么办法添加这样的功能吗?
基本上,我希望我的程序的功能与Windows 7附带的数学输入面板非常相似。哦,我在c#中编码。
答案 0 :(得分:2)
Load ink to a MathInputControl in C#
页面中提供的解决方案讨论了如何编程数学输入控件。
一旦你加载了笔画形式的数学方法(你可以从InkCanvas控件中获取它们 - 如果你不打算从其他地方读取它并构造笔画)通过StylusPointCollection进入数学输入控件并将它们存储到StrokeCollection类中将其流式传输到ISF(墨迹序列化格式)文件中。
解决方案作者将ISF文件提供给数学输入控件。在管理数学输入窗口等之前,还需要做一些工作来取回解决方案。
答案 1 :(得分:1)
我确定这不是你想听到的,但基本上你不能这样做。至少在微软没有内幕帮助的情况下。为了促进这一点,您需要开发自己的语言识别器。据我所知,这样做的工具和文档不会提供给第三方。
但是,您可以开发自己的识别系统,该系统利用System.Windows.Ink
API提供的现有墨水收集和笔划模型,但不会插入InkAnalyzer
模型。利用笔划信息将产生比简单分析形状的简单OCR类型系统更好的结果。
微软在System.Windows.Ink命名空间中公开他们的数学解析功能本来是非常有用的,但随着时间的推移,微软放弃了平板电脑。然后iPad出现并吃了他们的午餐,现在谁知道我们是否会再次关注墨水投入。