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

Python Discussion :

Superposer des images


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 31
    Points : 28
    Points
    28
    Par défaut Superposer des images
    Bonsoir à tous.

    J'aimerai savoir comment écrire un programme qui peut superposer deux (ou plus) images dans une petite interface Tkinter via le module PIL.

    Merci d'avance de votre aide

    Bonne soirée !

  2. #2
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Bonjour

    "Superposer des images" est trop vague :

    • c'est la dernière arrivée qui gagne (et écrase/masque ce qu'il y avait sous elle) ?
    • tu veux les gérer sous forme de "calques" (avec, pourquoi pas, des effets de transparence) ?
    • à partir de plusieurs images (de mêmes tailles ou pas, en les calant les unes par rapport aux autres) n'en faire qu'une seule ?
    • ...
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

  3. #3
    Expert confirmé 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
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    La transparence des gif, qui est gérée, devrait faire l'affaire.

    @+

    Edit : Pour info PhotoImage gère les gif.
    Merci d'utiliser le forum pour les questions techniques.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    Bonjour

    Oui c'est vrai que ce n'était pas assez précis.

    Par superposer des images, j'entends par transparence (de façon à les voir toutes au final), il s'agit d'images comportant des informations complémentaires. Les images ont toutes le même format, la même taille.

    Bonne journée.

  5. #5
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Tout dépend (encore) si tu veux jouer sur la transparence des images de façon dynamique (l'utilisateur colle un pourcentage sur chacune des images, en change) ou si, avant l'affichage, tu construis l'image résultante "en dur".

    Pour ce qui est du format GIF comme l'a suggéré PauseKawa, je ne connais pas trop en détail mais ça peut être une solution (attention quand même au fait que GIF (à confirmer) est "limité" en nombre de couleurs : ça peut ne pas convenir selon le contenu de tes images)

    Sinon, le module ImageMath de PIL peut te permettre de construire cette image résultante. Si c'est trop limité, il reste la bonne vieille méthode manuelle, pixel par pixel.
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    J'ai essayé ceci avec le module PIL : (mes images font 512 par 512 pixels)

    region2 = Image.open('rouge.png')
    im2 = Image.open('vert.png')
    mask2 = region2.point(lambda i:128)
    im2.paste(region2,(0,0,512,512),mask2)
    im2.save('ess2.png','PNG')

    mais j'obtiens toujours :

    " File "C:\Users\utilisateur\Desktop\Projet Labo (21-04)\Programme\superposition.py", line 7, in <module>
    im.paste(region,(0,0,512,512),region.point(lambda i: 10))
    File "C:\Python26\lib\site-packages\PIL\Image.py", line 1101, in paste
    self.im.paste(im, box, mask.im)

    ValueError: bad transparency mask"


    Je ne parviens pas à interpréter ce message.

  7. #7
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Tu peux essayer la fonction blend:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import Image
    p1 = Image.open('python.jpg')
    p2 = Image.open('potiron.jpg')
    p3 = Image.blend(p1, p2, .8)
    p3.save('pythonpotiron.jpg')
    Images attachées Images attachées    
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    Merci de votre aide !

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

Discussions similaires

  1. Superposer des images.
    Par T-O-N-Y dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 05/02/2007, 13h12
  2. [VB.NET] Comment superposer des images ?
    Par zetta dans le forum ASP.NET
    Réponses: 1
    Dernier message: 16/10/2006, 13h41
  3. [VB6]Superposer des images pour en faire qu'une seule
    Par spikto dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/08/2006, 14h49
  4. [LG] Superposer des images
    Par biker dans le forum Langage
    Réponses: 1
    Dernier message: 29/01/2006, 18h22
  5. [Image]Alternative à GD pour superposer des images
    Par Invité4 dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 14/01/2006, 18h13

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