2
我正在將包含許多數據點的繪圖渲染到由NSView託管的CALayer中。在CALayer的drawInContext中完成的所有繪製操作都是向量操作(CGPaths等)。在將CALayer渲染爲PDF輸出時維護矢量圖形
現在我想將其導出爲PDF文件。使用CGPDFContextCreateWithURL(),創建一個PDF文件,但它基本上只包含我的情節的屏幕截圖,意思是視圖內容的位圖圖像。
但我想要的是基於矢量的PDF。我知道CALayers將他們的內容渲染到屏幕上顯示的位圖中,但爲什麼不能將相同的內容渲染爲矢量圖形呢?
是否真的沒有內置的方法來實現這一目標?我不能是唯一需要這個的人。
非常感謝,你是絕對正確的。我總是使用「renderInContext:」而不是「drawInContext:」。這解決了這個問題。不幸的是,子層不會自動呈現,就像在NSView中一樣。所以我將不得不實現遍歷圖層樹並渲染它們的方法。 – tungsten
一句話:如果我想從當前窗口中顯示的圖層導出PDF,是否有一種方法可以使其正確填充交付的CGContextRef的框架?因爲它保留了屏幕的CALayer的框架,我想避免爲了導出目的而(明顯地)改變顯示層的框架。 – tungsten
創建PDF上下文時,如果要獲得1:1 PDF導出,您可以設置頁面媒體框以匹配圖層的大小。 – iPDFdev