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

  1. #1
    Candidat au 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
    Points : 2
    Points
    2
    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 averti
    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
    Points : 388
    Points
    388
    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
    Candidat au 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
    Points : 2
    Points
    2
    Par défaut
    Merci Pierjean !
    J'essaie çà et je donne des nouvelles.

  4. #4
    Candidat au 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
    Points : 2
    Points
    2
    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
    Candidat au 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
    Points : 2
    Points
    2
    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 à l'essai
    Inscrit en
    Octobre 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 18
    Points : 18
    Points
    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

  7. #7
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 063
    Points : 420
    Points
    420
    Par défaut
    Bonjour à tous,

    pierjean, tu dis que canvas sait créer un fichier postscript...

    Comment il fait ça ? Il n'y a aucune méthode d'export...
    David.

  8. #8
    Membre averti
    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
    Points : 388
    Points
    388
    Par défaut
    Bonjour,
    De mémoire, le Canvas a une méthode postscript.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myCanvas.postscript(file="fichier.ps")
    Je détaillerais plus dès que j'aurais python sous la main.

  9. #9
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 063
    Points : 420
    Points
    420
    Par défaut
    Oups, je n'avais pas fait attention à la rubrique... Je me croyait en Delphi.
    Fait faire attention avec les recherches globales.
    David.

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