c - 在开罗绘制并定位许多 png 文件

标签 c gtk cairo

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

我知道您可以通过以下方式从 png 文件制作表面:

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

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

最佳答案

通常您需要花一些时间阅读cairo API docs ,例如对于缩放,您可以使用 cairo_scalecairo_transform read on

因此,在使用上述函数设置 View 矩阵后,您所要做的就是

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

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

关于c - 在开罗绘制并定位许多 png 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257472/

相关文章:

c - strtok() 不考虑后续调用的新 token 值

c - "button-press-event"什么时候会在gtk+中被调用?

C - Valgrind 在我的反向字符串函数中检测到一个错误

C - 为什么将语句放入 for 循环 'increment' 部分在第一次迭代时不起作用?

python - JSON 编码/解码 GTK 枚举

c - 想要更改 gtkfilechooser

python - 如何在 osx 上安装 pycairo?

清除 gtk_window 中的 cairo 文本

python - 在python Gtk3中使弹出式GtkMenu透明无边框

c - C 中的显式类型转换