IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Plusieurs images sous ImageTk


Sujet :

Tkinter Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 53
    Points : 44
    Points
    44
    Par défaut Plusieurs images sous ImageTk
    Salut!
    Je me suis mis récemment au python, et voilà mon premier problème.
    En fait, j'essaye de découper des images avec PIL (pas de problème) et de les afficher dans une fenêtre à l'intérieur d'un objet label.
    Le problème, c'est qu'il ne peut y avoir qu'une seule image en même temps...quand il y en a une qui se créer, elle efface la précédente...
    J'ai essayé de les placer dans un canevas, mais c'est toujours le même problème, donc je pense que l'erreur vient de ImageTk.PhotoImage

    Les variables:
    NBR_TILES_PER_LINE: 4
    TILES_SIZE: 32

    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    # -*- coding: iso-8859-1 -*-
    from Tkinter import *
    import ImageTk,Tkinter,Image,Pmw
     
    fen = Tk()
     
    onglets = Pmw.NoteBook(fen)
     
    tilename = "Level3.png"
    page = onglets.add("Niveau 3")
    tiles = Image.open("./Tiles/"+tilename)
    tileswidth,tilesheight = tiles.size
    if (tileswidth*tilesheight)%TILES_SIZE>0:
        alert("Attention: le tile ayant été chargé ("+tilename+") ne possède pas les bonnes proportions par rapport aux valeures indiquées dans le fichier de configuration (./Includes/config.py)","erreur")
    realnbrtiles = tileswidth/TILES_SIZE*tilesheight/TILES_SIZE
    nbrtiles = realnbrtiles
    canvaswidth = NBR_TILES_PER_LINE*TILES_SIZE
    if nbrtiles%NBR_TILES_PER_LINE>0:
        nbrtiles = nbrtiles+NBR_TILES_PER_LINE-nbrtiles%NBR_TILES_PER_LINE
    x1,y1 = 0,0
    for t in range(0,3):
        tile = tiles.crop((x1,y1,x1+TILES_SIZE,y1+TILES_SIZE))
        tile = ImageTk.PhotoImage(tile)
        Label(page,image=tile).place(anchor=NW,x=x1,y=y1)
        x1=x1+TILES_SIZE
     
    onglets.pack(side=LEFT,fill='both',expand=1,padx=10,pady=10)
     
    fen.mainloop()
    Merci d'avance!

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 53
    Points : 44
    Points
    44
    Par défaut
    Ah, j'ai découvert deux choses:

    1. Je suis un gros boulet
    2. J'adore ce site

    http://developpez.net/forums/showthr...hlight=imagetk

    Bref, j'ai juste à sauvegarder les images dans un dictionnaire pour que les images soient conservées. Une journée passée sur un problème aussi simple

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] insérer une image sous condition sur plusieurs lignes
    Par jesslab dans le forum Excel
    Réponses: 2
    Dernier message: 06/12/2013, 09h35
  2. [D5][SQL Server] Conserver des images dans la BDD
    Par FONKOU dans le forum Bases de données
    Réponses: 8
    Dernier message: 08/06/2008, 19h58
  3. Afficher des images sous directX
    Par cyberlewis dans le forum DirectX
    Réponses: 17
    Dernier message: 12/07/2004, 12h07
  4. Economie de mémoire pour plusieur images avec la même source
    Par neness dans le forum Composants VCL
    Réponses: 5
    Dernier message: 18/01/2004, 10h56
  5. Affichage d'une image sous linux
    Par Braim dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 25/03/2003, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo