如何将部分透明的图像添加到Tkinter?

时间:2014-09-28 01:24:48

标签: python image tkinter

我正在Tkinter制作游戏,我非常希望游戏中部分透明的图像显而易见......

我该怎么做? PNG不允许透明,JPEG确实允许透明但不被视为“图像文件”...哪种文件类型允许?我可以以某种方式使用位图使JPEG可用吗?谢谢!

有些人使用信息:

我3个月前开始学习Python,并不是非常好,但我确实知道类,函数以及如何在Tkinter中创建东西。我显然也知道更多,但正如我所说,我并不是太擅长它。谢谢!

2 个答案:

答案 0 :(得分:5)

Tkinter确实识别.ico文件,但我从未将它们作为左上角的图标使用。

我会使用GIF文件,tk.PhotoImage来显示它。这样可以显示透明图像:

我的证明:

enter image description here

tk窗口中的图像,但当我将背景颜色更改为黄色时,按钮背景与tk窗口背景相同,因此它是透明的。

enter image description here

编辑:这是代码

import tkinter as tk
root = tk.Tk()
image1 = tk.PhotoImage(file = "FILENAME.gif")
label1 = tk.Button(image = image1)
label1.pack()
root.mainloop()
希望能帮到你。

答案 1 :(得分:1)

from tkinter import *

root = Tk()

startpic = PhotoImage(file = "ddsp.gif")
startbut = PhotoImage(file = "start.gif")
helpbut = PhotoImage(file = "help.gif")
exitbut = PhotoImage(file = "exit.gif")

root.geometry("640x480")
root.title("Deep Death")
root.resizable(0,0)

starter = Label(image = startpic)
starter.pack()

start = Label(image = startbut)
start.place(x=340,y=80)

root.mainloop()

即使.gifs'是透明的,它们也会以白色背景显示。