0

我正在使用 PDFTron/PDFNet 库在 Visual Studio 2015 上开发桌面 PDF 注释系统。我参考了提供的示例代码:PDFViewSimple.cs。我想写一个简单的手绘水墨注释功能,并获取笔画的数据来改变外观。我用过:

private void MenuToolFreeHand_Click(object sender, EventArgs e) { _pdfview.SetToolMode(PDFViewCtrl.ToolMod e.e_ink_create); }

它运作良好。但我不知道我如何才能得到那些墨水笔画的数据。我参考了文档,在 Ink 类下面找到了这样的方法:

公共点GetPoint(int pathindex,int pointindex)

Ink 列表是一个由 n 个数组组成的数组,每个数组代表一个描边路径。每个数组应是一系列 Point 对象,指定沿路径的点。绘制时,点应通过直线或曲线以实现相关的方式连接。

Ink列表正是我需要的,但是当我想获取用户刚刚写的笔画的点数数据或时间数据时,我不知道在哪里找到它。有没有一个对象可以存储这些数据?

而且我不知道当用户完成中风时是否有事件触发。如果我使用这个 e_ink_create 工具,我怎样才能改变一个笔画的不透明度?

4

1 回答 1

3

对于新项目,建议使用 PDFViewWPF (WPF) 而不是 PDFViewCtrl (WinForms)。我们的 PDFViewWPF 控件包含自定义行为所需的所有代码。SDK 示例中特别包含 PDFViewWPFTools 项目,其中包含您需要的一切。另一方面,PDFViewCtrl 不是可定制的。我相信,即使你的项目是 WinForms,你仍然可以使用 PDFViewWPF。您只需要针对 .Net 4+。

如果您真的想坚持使用 PDFViewCtrl,那么此论坛帖子将展示如何自定义注释外观。您可以使用 PDFViewCtrl 注册一些事件,或者您可以简单地获取页面上的最后一个注释(因为这将是最新的注释)。

这篇文章展示了如何遍历墨点。

如果您确实切换到 PDFViewWPF,请查看 PDFViewWPF 项目中的 FreehandCreate.cs Create() 和 Draw() 方法。

于 2015-12-22T22:31:40.413 回答