首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Gtk.DrawingArea保存到位图

将Gtk.DrawingArea保存到位图
EN

Stack Overflow用户
提问于 2012-12-11 15:53:28
回答 1查看 1.1K关注 0票数 0

我需要将我的DrawingArea对象的图像保存到位图,但是我不知道怎么做。谁能告诉我,如何将DrawingArea图像保存到位图?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-13 07:14:55

有几种方法可以做到这一点,这取决于你想要做什么,以及你是否/为什么真的需要一个System.Drawing.Bitmap

复制小工具

您可以P/调用gtk_widget_get_snapshot来获取Gdk.Pixbuf

可以将Pixbuf保存到a文件中,也可以复制到System.Drawing.Bitmap中。

使用System.Drawing的

您可以将绘图代码移植到System.Drawing应用编程接口。

在DrawingArea的Expose方法中,使用Gtk.DotNet.Graphics.FromDrawable获取小部件的System.Drawing.Graphics,并使用移植的绘图代码在其上绘制。

然后,您可以创建一个System.Drawing.Bitmap并使用相同的绘图代码来绘制它。

使用开罗

您可以将绘图代码移植到Mono.Cairo (新的GTK#绘图API,它比System.Drawing强大得多)。

在DrawingArea的Expose方法中,使用Gdk.CairoHelper.Create获取小部件的Cairo上下文,并使用移植的绘图代码在该上下文上绘制。

然后,您可以使用Cairo绘图逻辑来写入Cairo ImageSurface,它可以保存到a文件中,也可以复制到System.Drawing.Bitmap中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13815857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档