在我的代码中,我是python的新手,有一个动画gif,每当我运行代码时都会播放。当在adobe等中打开时,gif图像实际上是透明的,但问题是当我运行代码时.gif中包含的颜色为灰色的框架。我想要删除颜色灰色以便唯一可以看到的是我唯一的动画gif
这是我的代码:
# mimic an animated GIF displaying a series of GIFs
# an animated GIF was used to create the series of GIFs
# with a common GIF animator utility
import time
from Tkinter import *
root = Tk()
imagelist = ["dog001.gif","dog002.gif","dog003.gif"]
# extract width and height info
photo = PhotoImage(file=imagelist[0])
width = photo.width()
height = photo.height()
canvas = Canvas(width=width, height=height)
canvas.create_line(0,240,640,240, fill='blue')
canvas.pack()
# create a list of image objects
giflist = []
for imagefile in imagelist:
photo = PhotoImage(file=imagefile)
giflist.append(photo)
# loop through the gif image objects for a while
for k in range(0, 10):
for gif in giflist:
canvas.delete(ALL)
canvas.create_image(width/2.0, height/2.0, image=gif)
canvas.update()
time.sleep(0.1)
root.mainloop()[![enter image description here][1]][1]
答案 0 :(得分:3)
正如here所述,可以使Tkinter窗口透明,但取决于您的操作系统。
如果您使用的是Windows,请在创建root
后添加以下行:
root = Tk()
# Hide the root window drag bar and close button
root.overrideredirect(True)
# Make the root window always on top
root.wm_attributes("-topmost", True)
# Define a transparent color
root.wm_attributes("-transparentcolor", '#eeefff')
然后将画布的背景颜色设置为上面定义的透明颜色:
canvas = Canvas(width=width, height=height, bg='#eeefff', highlightthickness=0)