在开罗绘制和定位许多png文件

时间:2013-03-06 20:36:03

标签: c gtk cairo

我的程序运行一个带有一堆交互圈的物理引擎,我正试图在每个圆圈上绘制一个小行星png图像。

我知道你可以从png文件中创建一个表面:

cairo_surface_t *image = cairo_image_surface_create_from_png ("image.png");

我正在试图弄清楚如何缩放并将png文件绘制到正确的维度?根据我对API的理解,我认为我可能需要调用cairo_image_surface_get_data(),但我不知道如何处理它。感谢。

1 个答案:

答案 0 :(得分:1)

通常,您需要花一些时间阅读cairo API docs,例如扩展您使用cairo_scalecairo_transform read on

因此,在使用上述功能设置视图矩阵之后,您所要做的就是

cairo_set_source_surface (cr, surface, x, y);
cairo_paint (cr);

(免费摘自http://zetcode.com/gfx/cairo/cairoimages/