我正在尝试将一些扫描的手写材料转换为InkCanvas,以便使用InkAnalyser进行手写识别。我已经在XAML中提供了我的手写材料。
我将此路径(字母t的边界形状)物理保存在.XAML文件中:
<Path xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Fill="#ff231f20" Data="F1 M
7.931,2.750 L 7.931,12.267 L 0.000,12.267 L 0.000,19.351 L 7.931,19.351 L 7.931,47.268 C
7.931,53.295 8.988,57.842 11.526,60.697 C 13.747,63.129 17.236,64.609 21.572,64.609 C
25.167,64.609 28.022,63.975 29.820,63.340 L 29.396,56.256 C 28.022,56.679 26.542,56.890
24.004,56.890 C 18.822,56.890 17.025,53.295 17.025,46.950 L 17.025,19.351 L 30.349,19.351
L 30.349,12.267 L 17.025,12.267 L 17.025,0.000 L 7.931,2.750 Z"/>
我读取Path的XAML并将其从MemoryStream对象 ms 加载到Path对象中:
Path myPath = (System.Windows.Shapes.Path)XamlReader.Load(ms);
我有一个名为V的InkCanvas。我想以编程方式从myPath对象创建笔划数据并将其添加到InkCanvas中。
注意:我不想将myPath作为UI元素添加到InkCanvas V的Children中。
我试过这个: http://code.msdn.microsoft.com/windowsdesktop/A-Coordinate-supported-03e4f1b7是一篇MSDN文章,描述了如何将坐标轴绘制到InkCanvas中。他正在解释将轴部分绘制到DrawingContext对象中。
但他没有解释如何通过此DrawingContext对象将这些绘图实际加载到真实的InkCanvas对象上。我确实需要帮助。
提前致谢。
答案 0 :(得分:1)
从路径中获取所有点,从坐标创建StylusPoints
。从StylusPoints
创建StylusPointCollection
并使用the respective Stroke
constructor制作一个笔画,然后将此Stroke
添加到画布的Strokes
。