我的程序运行一个带有一堆交互圆圈的物理引擎,我试图在每个圆圈上绘制一个小行星 png 图像。
我知道你可以从一个 png 文件中创建一个表面:
cairo_surface_t *image = cairo_image_surface_create_from_png ("image.png");
我试图弄清楚如何将 png 文件缩放和绘制到正确的尺寸?根据我对 API 的了解,我想我可能需要调用 cairo_image_surface_get_data (),但我不知道该怎么做。谢谢。
通常,您需要花一些时间阅读cairo API 文档,例如用于扩展您使用cairo_scale或cairo_transform 继续阅读的内容
因此,在您使用上述功能设置视图矩阵后,您所要做的就是
cairo_set_source_surface (cr, surface, x, y);
cairo_paint (cr);