【问题标题】:Draw and position many png files in Cairo在开罗绘制和定位许多 png 文件
【发布时间】:2013-03-07 06:11:07
【问题描述】:

我的程序运行一个物理引擎,其中包含一堆相互作用的圆圈,我正在尝试在每个圆圈上绘制一个小行星 png 图像。

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

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

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

【问题讨论】:

    标签: c gtk cairo


    【解决方案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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多