2012-06-21 4 views
1

Disons que je fais une surface comme ceci:Cairo: Recadrage d'une surface PDF?

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

C'est une grande surface! La raison en est que je ne connais pas la taille de mon dessin jusqu'à ce que je l'ai tracé (c'est un graphique compliqué, généré à la volée). Après que je l'ai tracé, il semble assez trivial de recadrer la surface. Alors, comment je fais?

Répondre

2

Dessinez sur une surface d'enregistrement au lieu d'une surface PDF. Les surfaces d'enregistrement peuvent ensuite être peintes sur une surface PDF plus petite. En outre, le caire prend en charge les surfaces d'enregistrement illimitées, ce qui fonctionne même lorsque votre dessin est plus large/plus grand que 40k pixels.

+0

Merci Uli, a parfaitement fonctionné. –

Questions connexes