Bonjour,
J'ai crée une interface rapide qui a une image en fond grâce au code:
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)
celle-ci s'affiche très bien vu que je l'ai redimensionnée pour qu'elle soit à la taille du canvas.
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 :
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)
Y étant une liste de deux variable donnant la position de l'image à mettre.
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.