我有 image1.png 和 image2.png
当我的应用程序启动时显示 image1.png,在应用程序运行后我需要隐藏 image1.png 并使用 image2.png 的淡入显示 image2.png 图片1.png
我该怎么做?我正在使用 python 和 pygtk 我也可以导入 PIL 模块,如果 是必要的
最佳答案
这是我刚刚为淡入效果制作的一个快速而肮脏的 pygtk 应用程序。它改编自此 C code :
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()
关于python - pygtk 图像淡入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5852705/