我是 Cocoa 和 Objective-C 的初学者。
我想制作一个 Cocoa 应用程序,它将生成一个网格网格(用于练习中国书法)并导出为 PDF,类似于此在线生成器:http://incompetech.com/graphpaper/chinesequarter/ .
我应该如何生成网格?我尝试将 Quartz 与 CustomView 一起使用,但没有取得很大进展。另外,一旦在 CustomView 中绘制了网格,将其“打印”到 PDF 的方法是什么?
感谢您的帮助。
最佳答案
How should I generate the grid?
实现custom view绘制它。
I've tried to use Quartz with a CustomView, …
这是一种方式; AppKit drawing是另一个。不过,它们的大部分部分非常相似。 AppKit直接基于PostScript,而Quartz则间接基于PostScript。
… but didn't manage to get very far.
您应该就您的问题提出更具体的问题。
Also, once the grid is drawn in the CustomView, what is the method for "printing" that to a PDF?
发送a dataWithPDFInsideRect:
message ,通过其 bounds .
请注意,没有“一旦在 CustomView 中绘制网格”。尽管可能存在一些内部缓存,但从概念上讲, View 不会绘制一次并保留它;而是绘制一次。它会在需要的时候、每次需要的时候、到需要的地方。当窗口需要重新绘制时,Cocoa 将告诉脏区域中的任何 View 进行(重新)绘制,并且它们最终将绘制到屏幕上。当您请求 PDF 数据时,这也会告诉 View 进行绘制,并且它将绘制到记录 PDF 数据的上下文中。这允许 View 既可以是惰性的(仅在需要时绘制),又可以在不同的上下文中以不同的方式绘制(例如,打印时)。
关于objective-c - 如何使用 Cocoa 在 PDF 中生成网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5759979/