1

我正在尝试将一些扫描的手写材料转换为 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 对象上。我需要帮助。

4

1 回答 1

1

从路径中获取所有点,StylusPoints从它们的坐标创建。StylusPointCollection从这些中创建一个StylusPoints并使用相应的Stroke构造函数进行描边,Stroke然后可以将其添加到Strokes画布中。

于 2012-01-02T22:18:57.540 回答