2012-06-21 83 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

谢谢乌利,工作完美。 –