2012-06-21 124 views
1

比方說,我做出這樣的表面:開羅:裁剪PDF表面?

cairo_surface_t* surface = cairo_pdf_surface_create("pdffile.pdf", 40000, 40000); 
cairo_t* cr = cairo_create(surface); 

這是一個大的表面!這樣做的原因是,我不知道我的繪圖的大小,直到我繪製它(這是一個複雜的圖形,即時生成)。繪製完它後,裁剪表面看起來非常微不足道。那我該怎麼做呢?

回答

2

繪製到記錄表面而不是PDF表面。記錄表面可以被繪製到較小的PDF表面。另外,cairo支持無界記錄表面,因此當您的繪圖寬於/高於40k像素時,它甚至可以工作。

+0

謝謝烏利,工作完美。 –