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 !
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 !
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 !
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.
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.
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 !
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.
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')
"Etre conscient de la difficulté permet de l'éviter.."
Lao-Tseu.
Merci de votre aide !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager