0

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

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

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

我试图弄清楚如何将 png 文件缩放和绘制到正确的尺寸?根据我对 API 的了解,我想我可能需要调用 cairo_image_surface_get_data (),但我不知道该怎么做。谢谢。

4

1 回答 1

1

通常,您需要花一些时间阅读cairo API 文档,例如用于扩展您使用cairo_scalecairo_transform 继续阅读的内容

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

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

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

于 2013-03-06T22:11:07.260 回答