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

wxPython Discussion :

Taille d'une image et taille d'une fenêtre


Sujet :

wxPython

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 82
    Par défaut Taille d'une image et taille d'une fenêtre
    Bonjour,
    je souhaite dimensionner une fenetre wx à partir une image.
    j'arrive à déterminer la taille de mon image en utilsant les méthodes GetWidth() et GetHeight(). Et forcement, lorsque je redimensionne ma fenetre en utilisant SetSize(), il m'en manque un bout
    Si quelqu'un pouvait m'expliquer comment faire et me joindre un petit bout de code, je lui vouerai une reconnaissance eternelle.

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour Yachas,

    Je n'utilise pas wx mais si cela t'es utile voici un petit bout de code (en fait un splash screen) :

    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
    #       self.iconbitmap('@' + ImageAppli)
            self.withdraw()
            wisplash = Toplevel()
            wisplash.FondImage = PhotoImage(file = PathWasabi + "arriere.ppm")
            wisplash.overrideredirect(1)
            wt = wisplash.winfo_screenwidth()
            ht = wisplash.winfo_screenheight()
            w = wisplash.FondImage.width()
            h = wisplash.FondImage.height()
            wisplash.geometry("%dx%d+%d+%d" % (w,h, (wt-w)/2, (ht-h)/2 ) )
            wisplash.cv = Canvas(wisplash, width=w, height=h)
            wisplash.cv.pack(side='top', fill='both', expand='yes')
            wisplash.cv.create_image(0, 0, image=wisplash.FondImage, anchor='nw')
            wisplash.cvtexte1 = 'Wasabi'
            wisplash.cvtexte2 = WsbFonction
            wisplash.cvtexte3 = 'Version : ' + VersionNumber
            wisplash.cvtexte4 = ProgDate
            wisplash.cv.create_text(150, 100, font=("arial", 26, "bold italic"),
            text=wisplash.cvtexte1, fill='#8b4513')
            wisplash.cv.create_text(150, 140, font=("arial", 12, "bold"),
            text=wisplash.cvtexte2, fill='#8b4513')
            wisplash.cv.create_text(150, 190, font=("arial", 12, "bold"),
            text=wisplash.cvtexte3, fill='#8b4513')
            wisplash.cv.create_text(150, 270, font=("arial", 12, "bold"),
            text=wisplash.cvtexte4, fill='#8b4513')
            wisplash.bind('<1>', self.showRoot)
            self.after(600, self.showRoot)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 82
    Par défaut
    Ayeheuuuuuuu !!!
    Eh Bééé ! Moi pas tout comprendre ^^
    Merci de ta réponse, néanmoins, mes connaissances en python sont encore fraiches et là, ça dépasse mes compétences.
    Si tu pouvais me traduire tout ça en français moyen
    Parceque là !?!
    Enfin, si c'est possible, bien sûr !!!
    C'est sympa de m'accorder un peu de ton temps... Et je te voue quand meme une reconnaissance eternelle

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Par défaut
    Je pense que c'est un truc dans ce style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    self.SetClientSize(wx.Size(Width, Height))
    self.Fit()

  5. #5
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Et bien ton GetWidth/GetHeight semble donner la taille en pixels (soit l'équivalent de mes FondImage.width() et FondImage.height()).
    Tu l'utilise comment ton SetSize() ?
    A vrais dire dans l'exemple suivant j'utilise wisplash.cv = Canvas(wisplash, width=w, height=h).
    Ton problème viens sans doute des borderwidth si j'ai bien compris, non ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 82
    Par défaut
    PauseKawa (j'adore ton pseudo ^^^)
    En fait, c'est bien le problème... Je récupère la taille de mon image en pixel et je fixe la taille de ma fenetre à partir de ces données Height et Wight.
    Effectivement, la taille de ma fenetre est dimensionnée à partir de ces données et ce qui manque à mon image c'est bien les borderwidth.
    Alors, j'y vais de calculs savants qui me permettent de determiner la tailles de ces "borderwidth"... (Enfin, c'est plus un calcul empirique à grand coup d'essais malheureux
    J'imagine qu'il doit exister des methodes wxpython me permettant de réaliser cela facilement. Mais je n'arrive pas à les trouver... Ou alors, je n'applique pas la bonne façon.
    les formules de "gamal" semblent prometteuses, mais je ne pourrais les tester que Lundi... Pour le moment, c'est le week end à la maison ^^
    Merci de vos réponses et de vos conseils.
    A+

  7. #7
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Par contre ce n'est pas la fenêtre que tu dois dimensionner car tu vas avoir affaire a la barre de titre. Crée plutôt un conteneur pour ton image (moi j'utilise un canvas) et donne la taille de la bordure du conteneur manuellement du style

    Width du conteneur = Width de l'image + 2*la taille de la bordure
    Height du conteneur = Height de l'image + 2*la taille de la bordure

    Laisse ta fenêtre se dimensionner par rapport à ton conteneur.
    Cela déborde encore avec cela ?

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

Discussions similaires

  1. [Python 3.X] Créer une image png à partir d'une image de format quelconque avec Python
    Par bguy4 dans le forum Général Python
    Réponses: 3
    Dernier message: 30/10/2014, 10h49
  2. Afficher une image par défaut lorsque une image ne s'affiche pas
    Par ne2sbeal dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 10/10/2011, 10h42
  3. Réponses: 4
    Dernier message: 12/09/2008, 14h30
  4. Réponses: 8
    Dernier message: 30/08/2006, 14h22
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

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