gpt4 book ai didi

c - 将 gtk_drawing_area 或 Cairo 图案的内容保存到磁盘上的图像

转载 作者:行者123 更新时间:2023-11-30 15:22:52 32 4
gpt4 key购买 nike

如何将 gtk_drawing_area 或 cairo 上下文的内容保存到磁盘?

类似于这个(Python)问题:Save the contents of a Gtk.DrawingArea or Cairo pattern to an image on disk

但在 C 语言中。

最佳答案

您链接的Python代码似乎与C程序没有什么不同;您只需要查找等效的 C 方法,例如 gdk_pixbuf_savev() .

但是,因为您最初的问题是 cairo pattern*,所以我想您推断出,由于您编写了 GtkDrawingArea draw 信号处理程序的实现,因此您可以重用该代码来绘制图像。你是对的。

在这种情况下,您首先要创建 an image surface然后a cairo_t from that surface 。将其传递给您的绘图函数,然后 you can save the surface to a PNGHere's an example (from the Pango documentation).

当然,这假设您的 draw 处理程序的编写方式不使用 GtkDrawingArea 或 data 参数。如果是这样,您需要将实际的绘图逻辑分开。不管怎样,希望能有所帮助!

*我假设您指的是开罗上下文或开罗表面。模式只是绘图操作如何绘制的定义;将其保存到图像中有点没有意义。 (是的,您可以用图像创建图案,但这对于保存来说仍然没有多大意义。)

关于c - 将 gtk_drawing_area 或 Cairo 图案的内容保存到磁盘上的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29003012/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com