python - pygtk 图像淡入

标签 python image pygtk python-imaging-library fadein

我有 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/

相关文章:

python - Flask __init__() 缺少 1 个必需的位置参数 : 'id'

python - 由于现有解决方案有异常(exception),需要专家建议在 Python 中调整图像大小

python - 避免 python 3.5 中的溢出

html - 无法在页面上定位图像翻转

python - 使用 (Py)GTK 在调整大小时自动缩放图像

python - 字体宽度返回不正确的值

python - 计数行给出滚动文本框的错误结果

java - 删除 .docx 文件中的图像

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

python - 如何使用numpy镶嵌数组?