在Python和Gtk3中,当我有一个图像文件时,我可以像这样显示那个图像
image = Gtk.Image()
image.set_from_file(file_name)
但如果我有一个像以下
的矩阵[[ 10, 120, 38, 75, 189],
[200, 122, 130, 0, 29],
[255, 11, 102, 222, 18],
[ 36, 118, 199, 45, 26],
[231, 218, 12, 5, 156]]
表示灰度图像的像素,是否有一种方法可以直接从该矩阵显示该图像,而不必将其保存到图像文件然后加载该文件?
答案 0 :(得分:1)
我只使用过Gtk2,但我同意尼克建议查看gtk.gdk.Pixbuf。
来自链接的文档:
gtk.gdk.Pixbuf对象包含描述图像的数据 使用客户端资源。相比之下,gtk.gdk.Pixmap使用服务器 保存图像数据的边资源。操纵图像数据 gtk.gdk.Pixmap可能涉及客户端和客户端之间的往返转移 服务器在X11中操作gtk.gdk.Pixbuf中的图像数据 仅涉及客户端操作。因此使用gtk.gdk.Pixbuf 如果a,对象可能比使用gtk.gdk.Pixmap对象更有效 很多图像处理是必要的。
特别是,请查看pixbuf_new_from_array()
方法。要执行相反的操作,您可以使用get_pixels_array()
方法。这些方法可让您访问Pixbuf的pixel_array
属性。
您可以使用gtk.gdk.Drawable.draw_pixbuf()
呈现Pixbuf。