我的程序运行一个带有一堆交互圈的物理引擎,我正试图在每个圆圈上绘制一个小行星png图像。
我知道你可以从png文件中创建一个表面:
cairo_surface_t *image = cairo_image_surface_create_from_png ("image.png");
我正在试图弄清楚如何缩放并将png文件绘制到正确的维度?根据我对API的理解,我认为我可能需要调用cairo_image_surface_get_data(),但我不知道如何处理它。感谢。
答案 0 :(得分:1)
通常,您需要花一些时间阅读cairo API docs,例如扩展您使用cairo_scale
或cairo_transform
read on
因此,在使用上述功能设置视图矩阵之后,您所要做的就是
cairo_set_source_surface (cr, surface, x, y);
cairo_paint (cr);