python - 绘制图像到 gtk.DrawingArea?

标签 python drawing pygtk drawable paint

我正在根据找到的基本教程编写一个 PyGtk 绘图程序 here .

有什么方法可以将图像添加到绘图区域,以便您仍然可以在图像上绘图吗?例如邮票或导入的照片。我尝试添加 gtk.Image()gtk.DrawingArea 对象没有属性 add

self.window = gtk.Window((gtk.WINDOW_TOPLEVEL))
self.window.set_title ("Canvas")
self.window.set_position(gtk.WIN_POS_CENTER)
hbox = gtk.HBox(False, 0)
self.window.add(hbox)
self.window.set_resizable(False)

# Create the drawing area
drawing_area = gtk.DrawingArea()
drawing_area.set_size_request(screenWidth-350, screenHeight-100)
hbox.pack_start(drawing_area, True, True, 0)
drawing_area.show()

最佳答案

您必须使用 gtk.gdk.Drawable.draw_pixbuf() 自行将图像(作为 gtk.gdk.Pixbuf,而不是 gtk.Image)绘制到背景像素图上。 。只有容器小部件(可以包含其他小部件的小部件)具有 add() 方法,而 gtk.DrawingArea 不是一个。

pixbuf = gtk.gdk.pixbuf_new_from_file(image_filename) #one way to load a pixbuf
pixmap.draw_pixbuf(None, pixbuf, 0, 0, x, y, -1, -1, gtk.gdk.RGB_DITHER_NONE, 0, 0)

关于python - 绘制图像到 gtk.DrawingArea?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8283788/

相关文章:

python - 在 2D Python 数字字典中插入值

python - 使用 novaclient Python API 获取 Rackspace 上的 block 存储卷列表

java - 随机生成形状和颜色并绘制到 Canvas 上

c# - 如何关闭 WPF 形状中的抗锯齿?

python - 如何在图像菜单项中使用自定义图标?

python - ARIMA 模型 - MissingDataError : exog contains inf or nans

iphone - 在 UIImage 上绘制另一个图像

python - 为什么在使用 GTKGLArea 时在 PyOpenGL 中未定义 glGenVertexArrays

animation - 使用 GTK+ 制作流畅的动画

python - Exuberant-ctags 错误地标记了 python 多行类定义