在iphone OS上保存通过PDF呈现的Quartz图形

时间:2010-08-07 01:24:13

标签: iphone ipad quartz-2d

在我的应用程序中,我正在显示PDF页面,并希望允许用户通过页面顶部的徒手绘图来“标记”文档。我可以处理Quartz代码来进行徒手绘图,但是我可以用什么方法来保存这些“标记”,以便下次用户将PDF加载到应用程序时可以在页面上重新显示它们?

谢谢,

//斯科特

1 个答案:

答案 0 :(得分:0)

问题:

  • 鉴于 PDF页面和一系列绘图说明,
  • 应用应该能够重复该页面的绘图说明
  • 时,应用程序在接收绘图说明和查看页面之间退出。

解决方案:

  • 将对PDF页面和绘图说明的引用保存到持久存储。
  • 加载查看过的页面的绘图说明。
  • 渲染绘图说明。

保存PDF页面参考可以像保存与PDF和当前页面关联的URL一样简单。

保存绘图说明可以像归档用作绘图说明的UIBezierPath一样简单,因为UIBezierPath符合NSCoding。如果您使用的是CGMutablePathRef,则可以从UIBezierPath初始化CGPath并归档新初始化的贝塞尔曲线路径。您可以在取消归档后从CGPath检索UIBezierPath

如果您不需要用户能够在以下会话中编辑绘图指令,那么您可以将绘图渲染为静态图像,然后在下次加载并绘制它。在该会话之后,在原始图像上呈现这些指令,将其保存,并像以前一样继续。