Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我制作了这样的表面:
cairo_surface_t* surface = cairo_pdf_surface_create("pdffile.pdf", 40000, 40000); cairo_t* cr = cairo_create(surface);
这是一个很大的表面!这样做的原因是我不知道我的绘图的大小,直到我绘制它(这是一个复杂的图表,动态生成)。在我绘制它之后,裁剪表面似乎很简单。那么我该怎么做呢?
绘制到记录表面而不是 PDF 表面。然后可以将记录表面绘制到较小的 PDF 表面。此外,cairo 支持无界记录表面,因此当您的绘图更宽/高于 40k 像素时,这甚至可以工作。