# Python image suivre la taile de la fenêtre

**URL:** <https://www.debian-fr.org/t/python-image-suivre-la-taile-de-la-fenetre/15423>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 6:07 UTC](https://www.debian-fr.org/t/python-image-suivre-la-taile-de-la-fenetre/15423 "2016-02-20T18:07:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 6:07 UTC](https://www.debian-fr.org/t/python-image-suivre-la-taile-de-la-fenetre/15423/1 "2016-02-20T18:07:53Z")

</div>

Hello

Je suis un débutant en python, avec des base dans d’autre langage. Également nouveau sur ce forum.  
Je charge une image, seulement celle ci ne suis pas la taille de la fenêtre si elle est agrandie ou réduite:

[code]  
#!/usr/bin/env python

# -_- coding:Utf-8 -_-

from Tkinter import \*  
from PIL import Image,ImageTk

fen = Tk()  
L=1024  
H=768  
H\_image=L/2  
L\_image=H/2

my\_file = "/home/taz/Desktop/python/1.png"  
can = Canvas(fen, width =L, height =H, bg =‘white’)  
mon\_image=ImageTk.PhotoImage(file=my\_file)  
can.create\_image(H\_image,L\_image,image=mon\_image)  
can.pack()

fen.mainloop()[/code]

bon c’est pas terrible mai c’est un début,  
Plus tard je voudrai placer des control qui eux aussi aurons une image (et avidement devront suivre la taille de la fenêtre si c est possible)

---

<div class="post-metadata">

**Author:** ![lidiriel](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/dc4da7/32.png) [@lidiriel](https://www.debian-fr.org/u/lidiriel)\
**Post date:** [Février 20, 2016, 6:10 UTC](https://www.debian-fr.org/t/python-image-suivre-la-taile-de-la-fenetre/15423/2 "2016-02-20T18:10:09Z")

</div>

Salut,

je ne sais pas si tu as résolu ton problème.  
Mais une solution est que ton image se redimensionne elle même en surveillant les dimension de la fenetre parente. (notion de pattern observer par exemple).  
apres j’ai jamais programmer avec le module Tk. Mais le principe est le même avec toute librairie graphique.  
J’ai regarder un peu la doc [http://infohost.nmt.edu/tcc/help/pubs/tkinter/index.html](http://infohost.nmt.edu/tcc/help/pubs/tkinter/index.html) pour voir les type d’appel.  
En gros du doit faire deux chose creer une methode type “handler” qui en argument récuppert un evénement et ainsi a acces au dimension de ta fentre donc pourra redessiner correctement ton image.  
Ensuite tu connecte cette methode avec l’objet qui va déclencher l’évenement (ici le fait que l’utilisateur redimensionne la fenetre) : c’est un binding.

```auto
def ton_handler_qui_redessinne( self, event ):
  # je redessinne l'image avec (event.width, event.height)
```

et le binding (la liaison entre les evenement qui vienne de la boucle principal et ton code)

```auto
canvas.bind( "Configure", ton_handler_qui_redessine )
```

voila en gros. va falloir que tu lise un peu de doc pour mettre cela au clair.

Bon courage
