Problème de centrage pour 4 photos (Python)
Fermé
Lucascivi
-
Modifié le 26 janv. 2022 à 16:50
mamiemando Messages postés 33361 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 novembre 2024 - 26 janv. 2022 à 17:50
mamiemando Messages postés 33361 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 novembre 2024 - 26 janv. 2022 à 17:50
A voir également:
- Problème de centrage pour 4 photos (Python)
- Partage de photos - Guide
- Télécharger toutes les photos de google photo - Guide
- Citizen code python - Accueil - Outils
- Code gta 4 ps4 - Guide
- Doublons photos - Guide
1 réponse
mamiemando
Messages postés
33361
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 novembre 2024
7 799
26 janv. 2022 à 17:14
26 janv. 2022 à 17:14
Bonjour,
Sans spécifier ce qu'est le programme "montage" auquel ton script python fait appel, on ne peut pas trop répondre. Une manière de procéder seraient d'organiser tes images dans une page web, que tu pourrais alors ouvrir et imprimer depuis ton navigateur. Cela aurait en plus l'avantage de ne pas dépendre du programme
Tu peux par exemple t'inspirer de cet exemple. Afin d'avoir des images qui rentrent dans la page, on force leur largeur comme expliqué dans cette discussion :
Ce programme crée lorsqu'il est exécuté le fichier
Bonne chance
Sans spécifier ce qu'est le programme "montage" auquel ton script python fait appel, on ne peut pas trop répondre. Une manière de procéder seraient d'organiser tes images dans une page web, que tu pourrais alors ouvrir et imprimer depuis ton navigateur. Cela aurait en plus l'avantage de ne pas dépendre du programme
montage.
Tu peux par exemple t'inspirer de cet exemple. Afin d'avoir des images qui rentrent dans la page, on force leur largeur comme expliqué dans cette discussion :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys TEMPATE_HTML = """ <!DOCTYPE html> <html> <head> <style> .grid-container { display: grid; grid-template-columns: %(grid_template_columns)s; width: 50%%; padding: 10px; } img.scaled { width: 100%%; height: auto; } .grid-item { padding: 20px; text-align: center; } </style> </head> <body> <div class="grid-container"> %(div_images)s </div> %(text)s </body> </html> """ def make_montage(image_filenames, text = "", num_columns = 2): grid_template_columns = " ".join(["auto"] * num_columns) div_images = "\n".join( f"<div class=\"grid-item\"><img class=\"scaled\" src=\"{image_filename}\"/></div>" for image_filename in image_filenames ) return TEMPATE_HTML % { "grid_template_columns" : grid_template_columns, "div_images" : div_images, "text" : text } filename = "montage.html" with open(filename, "w") as f: image_filenames = [ "/home/mando/Downloads/image1.gif", "/home/mando/Downloads/image2.gif", "/home/mando/Downloads/image3.gif", "/home/mando/Downloads/image1.gif", ] print( make_montage(image_filenames, "bonjour", num_columns = 2), file = f )
Ce programme crée lorsqu'il est exécuté le fichier
montage.html, qui dispose 4 images et écrit en dessous "bonjour".
Bonne chance
26 janv. 2022 à 17:24
26 janv. 2022 à 17:50
Vu ce que tu veux faire, je pense que faire un fichier HTML comme je te le préconise dans mon message sera plus pratique à terme :
Si tu préfères passer par ImageMagick, alors ta question n'est pas vraiment une question python, mais plus une question sur comment utiliser ImageMagick et tu peux chercher des tutoriels qui expliquent comment faire une grille avec ce logiciel, par exemple cette page.
Bonne chance