Bonjour,
J'ai crée une interface rapide qui a une image en fond grâce au code:
celle-ci s'affiche très bien vu que je l'ai redimensionnée pour qu'elle soit à la taille du canvas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 image = PIL.Image.open(carte_de_fond) w,h=image.size if w>1100: image=image.resize((1100,int(h*1100/w)),PIL.Image.ANTIALIAS) w,h=image.size if h>700: image=image.resize((int(w*700/h),700),PIL.Image.ANTIALIAS) w,h=image.size photo = ImageTk.PhotoImage(image,master=fen) can.create_image(w/2,h/2,image=photo)
Le problème est que cette interface est une carte qui doit pouvoir afficher un groupe. J'ai donc besoin d'une seconde image.
J'ai donc utilisée :
Y étant une liste de deux variable donnant la position de l'image à mettre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 image=PIL.Image.open(image_groupe) wtp,htp=image.size if wtp>100: image=image.resize((100,int(htp*100/wtp)),PIL.Image.ANTIALIAS) wtp,htp=image.size if htp>60: image=image.resize((int(wtp*60/htp),60),PIL.Image.ANTIALIAS) wtp,htp=image.size photo = ImageTk.PhotoImage(image,master=fen) groupe_joueurs.canvas=can.create_image(int(Y[0]),int(Y[1]),image=photo)
groupe_joueurs est une classe qui possède un attribut canvas.
can est le canvas créé.
fen est la fenetre principale.
Le problème est que j'ai toujours ma première image mais la seconde ne s'affiche pas par dessus. Merci d'avance pour vos solutions.
Partager