【发布时间】:2009-06-06 13:28:59
【问题描述】:
我有一个图像/pixbuf,我想将它绘制到 gtk.DrawingArea 中并经常刷新,因此 blitting 操作必须很快。做起来很简单:
def __init__(self):
self.drawing_area = gtk.DrawingArea()
self.image = gtk.gdk.pixbuf_new_from_file("image.png")
def area_expose_cb(self, area, event):
self.drawing_area.window.draw_pixbuf(self.gc, self.image, 0, 0, x, y)
但是会导致性能非常缓慢,这可能是由于 pixbuf 不是显示颜色格式造成的。
我在 Cairo 上也没有成功,因为它似乎仅限于 24/32 位格式并且没有 16 位格式(FORMAT_RGB16_565 不受支持且已弃用)。
在 Gtk+ 中快速绘制图片有哪些替代方法?
【问题讨论】: