【发布时间】:2012-10-23 18:22:08
【问题描述】:
所以,我想使用 PyCairo 绘制图像。效率非常重要,但我正在使用 PyGtk 的 gtk.gdk.Pixbuf 加载图像。我的问题是,通过 gtk.gdk.CairoContext 检索 Cairo 上下文与将 Pixbuf 转换为 cairo.ImageSurface 对象来渲染 Pixbuf 是否存在性能差异,如果是,差异有多大?这是在一个单独的绘图线程中运行的,该线程每秒更新 30 次左右(尽管仅在图像需要更新时)。请注意,转换只会运行一次。
gdkcr = gtk.gdk.CairoContext(cr)
gdkcr.set_source_pixbuf(img, 0, 0)
gdkcr.paint()
对
cr.set_source(imgSurface)
cr.rectangle(0, 0, imgSurface.get_width(), imgSurface.get_height())
cr.fill()
【问题讨论】:
-
如何将 pixbuf 转换为 cairo.ImageSurface?那不是也需要 set_source_pixbuf() 吗?
标签: python gtk pygtk cairo pycairo