Ink-Collection 插件
RealTimeStylus 对象本身不会收集墨迹。 若要使用 RealTimeStylus 收集墨迹,请创建墨迹收集器插件。
下面是在收集墨迹的窗体上使用 RealTimeStylus 对象的最小方案。
- 创建实现 IStylusAsyncPlugin 接口的窗体。
- 创建 RealTimeStylus 对象,并将其附加到窗体上的控件。
- 在表单的 DataInterest 属性中设置对 StylusDown、Packets 和 StylusUp 通知的兴趣。
- 在窗体的 StylusDown、 Packets 和 StylusUp 方法中,添加代码以处理从窗体的 RealTimeStylus 对象发送的触笔向下、数据包和触笔通知。 此代码应存储笔数据,并创建和存储笔划。
有关此类应用程序的示例,请参阅 RealTimeStylus Ink 集合示例 。
注意
当 DisplaySettingsChanged 事件发生时,调用 DisplaySettingsChanged 事件处理程序中收集的笔划的 ModifyDrawingAttributes 方法以重新计算 Width 和 Height 属性。 这是考虑到由于 DisplaySettingsChanged 事件导致的每英寸 (dpi) 更改的可能点数所必需的。
墨迹收集和识别器
墨迹分析和手写识别都不是 RealTimeStylus 对象的函数。 当墨迹收集器插件收集墨迹时,或者当你想要识别墨迹时,你可以将墨迹复制到 RecognizerContext 或 Divider 对象。 有关识别和墨迹分析的详细信息,请参阅 关于手写识别 或 分隔符对象。
静态呈现
若要在收集墨迹时呈现墨迹,请将 DynamicRenderer 对象附加到 RealTimeStylus 对象。 若要在收集墨迹后呈现墨迹,请使用 Renderer 对象将笔划绘制到相应的 Graphics 对象。 有关 DynamicRenderer 对象的详细信息,请参阅 动态呈现器插件。有关静态和动态呈现的示例,请参阅 RealTimeStylus Ink 集合示例。