如何在没有png的情况下在tkinter中使用透明图像?

时间:2018-03-17 11:09:41

标签: python python-3.x tkinter transparent

我正在为学校制作一个tkinter项目。在项目中,我需要使用透明图像。在我的学校,tkinter只支持GIF,所以我不能使用PNG。此外,仅支持安装时附带python 3的模块。我们无法下载更多。有办法解决我的问题吗?

2 个答案:

答案 0 :(得分:2)

tkinter可以显示png透明度。

基本图像示例。

test

import tkinter as tk

root = tk.Tk()

img = tk.PhotoImage(file='test.png')

can = tk.Canvas(root, width=300, height=300, bg='lightGrey')
can.grid()

can.create_rectangle(0, 0, 200, 200, fill='darkGreen')
can.create_rectangle(100, 100, 300, 300, fill='navy')
can.create_text(150, 150, text='TKINTER', font=('', 32), fill='orange')
can.create_image(150, 150, image=img)

root.mainloop()

result

您只需使用Gimp或良好的图像编辑器使用alpha参数保存图像。

答案 1 :(得分:0)

您可以使用GIFsicle使用以下选项执行此操作:

gifsicle -U --disposal=previous --transparent="#ffffff" -O2 pic.gif > pic_trans.gif

其中pic.gif和pic_trans.gif是源文件名和目标文件名,#ffffff是您要透明的颜色的十六进制代码(此处为纯白色)。