2010-07-17 7 views

Répondre

16

Voici un exemple (le fichier PNG example.png a beaucoup de transparence dans des endroits différents):

 
from Tkinter import Tk, Frame, Canvas 
import ImageTk 

t = Tk() 
t.title("Transparency") 

frame = Frame(t) 
frame.pack() 

canvas = Canvas(frame, bg="black", width=500, height=500) 
canvas.pack() 

photoimage = ImageTk.PhotoImage(file="example.png") 
canvas.create_image(150, 150, image=photoimage) 

t.mainloop() 

Vous devez vous assurer que l'image a été stockée sous forme RGBA - RVB avec un canal alpha. Vous pouvez vérifier que l'utilisation d'un programme graphique de votre choix, ou en utilisant PIL (Python Imaging Library):

 
import Image 
im = Image.open("button.png") 
print im.mode 

Cela devrait imprimer « RGBA ». Sinon, vous devrez vous assurer que le canal alpha est enregistré avec l'image. Vous devrez consulter le manuel de votre programme graphique pour savoir comment procéder.

+9

Il est intéressant de noter que 'ImageTk' ne fait pas partie de la bibliothèque standard Python, mais de la bibliothèque Python Imaging, qui doit être installée séparément. En outre, PIL n'a pas encore le support de Python 3, donc le code ci-dessus ne fonctionnera que sur Python 2.x. – fbmd

+1

@fbmd: Bons commentaires. Voici un article connexe: http://stackoverflow.com/questions/3896286/image-library-for-python-3 –

+0

Si vous aimez le commentaire, vous pouvez toujours upvote. ;-) – fbmd

Questions connexes