Pygtk图像褪色



我有image1.png和image2.png

当我的应用程序启动image1.png显示,应用程序运行后,我需要隐藏图像1.png和显示图像2.png使用图像2.png在image1.png

我该怎么做呢?我使用python和pygtk,我也可以导入PIL模块,如果是必要的

这是我刚刚为淡入效果做的一个快速而粗糙的pygtk应用程序。它改编自以下C代码:

import gtk
import gobject
import cairo
import sys
class PyApp(gtk.Window):
    def __init__(self):
        super(PyApp, self).__init__()
        self.set_title("Fade In")
        self.resize(300, 350)
        self.set_position(gtk.WIN_POS_CENTER)
        ## alpha is starting transparency
        self.alpha = 0
        ## delta is amount to increase alpha
        self.delta = 0.01
        self.connect("destroy", gtk.main_quit)
        self.darea = gtk.DrawingArea()
        self.darea.connect("expose-event", self.expose)
        self.add(self.darea)
        try:
            self.surface = cairo.ImageSurface.create_from_png("/usr/share/icons/gnome/256x256/emotes/face-angel.png")
        except Exception, e:
            print e.message
            sys.exit(1)
        self.show_all()
    def fadeImage(self):
        self.darea.queue_draw()
    def expose(self, widget, event):
        cr = widget.window.cairo_create()
        cr.set_source_surface(self.surface, 10, 10)
        cr.paint_with_alpha(self.alpha)
        self.alpha += self.delta
        if self.alpha >= 1: return False
        else: gobject.timeout_add(50,self.fadeImage)
PyApp()
gtk.main()

听起来GTK并不是这项工作的最佳工具。我建议使用杂乱

最新更新