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 :

imprimer un Canvas ou un Frame Tk sous Win32


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Par défaut imprimer un Canvas ou un Frame Tk sous Win32
    Bonjour,
    Je programme en Python/Tk depuis quelques mois, d'abbord sous linux, et maintenant sous W2000, et je m'amuse bien.
    Je "travaille" sur une petite appli graphique pédagogique qui permet de se familiariser avec le Tzolkin (calendrier Maya). Bref...

    Jusqu'ici je m'en suis bien sorti avec les docs et les FAQ, mais là, je ne trouve pas :

    Comment imprimer le contenu d'un canvas ou d'un frame Python/Tkinter sous Win32 ?

    Merci d'avance.
    PS : C'est mon premier post, j'ai un peu le trac, j'espère que je n'ai pas fait de bêtises...

  2. #2
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Bonjour,
    Pour un canvas, on peut exporter en postscript. (je crois qu'il ne prend pas les images)
    Sinon, on peut créer une image de la frame ou du canvas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def saveImage(self):
    	x = self.mycanvas.winfo_rootx()
    	y = self.mycanvas.winfo_rooty()
    	w = self.mycanvas.winfo_width()
    	h = self.mycanvas.winfo_height()
    	image=ImageGrab.grab((x+2, y+2, x+w-2, y+h-2))
    	image.save("tmp.bmp")

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Par défaut
    Merci Pierjean !
    J'essaie çà et je donne des nouvelles.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Par défaut
    Bord de mer !

    Mon petit python ne connait pas ImageGrab.grab et je ne trouve pas de module contenant "grab".
    Est-ce que c'est un nouveau module à rajouter ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Par défaut
    Je crois que je l'ai trouvé ce ImageGrab : dans la fameuse PIL (Python Image Library) que je n'avais pas encore installée...

  6. #6
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 18
    Par défaut
    Bonjour tout le monde!

    Je remonte ce sujet parce que j'ai un soucis avec ImageGrab.
    Lorsque je dessine des formes dans un canvas, il me renvoi l'image du canvas vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def Sauvegardersceneimage(self):
            self.canvas.create_rectangle(10,10,300,300,fill='red')
     
            x=self.canvas.winfo_rootx()
            y=self.canvas.winfo_rooty()
     
            boite=self.canvas.bbox(Tk.ALL)
            image=ImageGrab.grab((boite[0]+x, boite[1]+y, boite[2]+x, boite[3]+y))
            image.save(self.ma_scene.chemin + '\\' + self.ma_scene.nom + '.jpg',"JPEG")
    Si vous avez une idée je suis preneur...
    Merci par avance

Discussions similaires

  1. [API HTML5] Imprimer un Canvas
    Par aattar dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 21/06/2012, 17h47
  2. imprimer une canvas avec java
    Par hammasaidi dans le forum Graphisme
    Réponses: 2
    Dernier message: 20/04/2010, 14h28
  3. SAS/AF : Utiliser une frame créée sous XP sous Vista
    Par fbatch dans le forum SAS AF et formulaires
    Réponses: 1
    Dernier message: 17/03/2010, 21h58
  4. exporter / imprimer l'image d'une frame
    Par genevieve.charbon dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 03/02/2008, 19h24
  5. Imprimer un canvas sous n'importe quelle imprimante
    Par Bily.sdi dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/12/2005, 13h02

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