#1 Thu 14 March 2024 09:44
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 347
QGIS 3.28/PYQGIS: Tranparence image png et resolution
Bonjour,
Pourriez vous me dire comment faire une image png avec fond transparent
Voici comment je fais mes images, mais je ne sais pas comment et où précisez que l'image doit être sur fond transparent
Et par ma même occasion, comment préciser la résomution de mon image
Code:
project = QgsProject.instance() layout = QgsPrintLayout(project) layout.initializeDefaults() layout.setUnits(QgsUnitTypes.LayoutMillimeters) page = layout.pageCollection().pages()[0] page.setPageSize(QgsLayoutSize(larg,haut)) nomfic = (GL_GLOBAL_PRT.PRT_REP_LEGENDE + "/LEG_" + tp + ".png") if (GL_FICHIERS.WBO_FICHIER_FichierExiste(nomfic)): GL_FICHIERS.WBO_FICHIER_SupprimerFichier(nomfic) WBO_MT_EditerLegende(layout,nomfic,control_inf2,tp,dico_trace,tp) exporter = QgsLayoutExporter(layout) exporter.exportToImage(nomfic, QgsLayoutExporter.ImageExportSettings())
Merci de vos réponses et bonne journée
PYJ
Hors ligne
#2 Mon 18 March 2024 07:27
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 347
Re: QGIS 3.28/PYQGIS: Tranparence image png et resolution
Bonjour,
Une idée pour la transparence ?
J'ai beau chercher, je ne trouve pas comment spécifier en python cette caractéristique pour un fichier png
Le but étant ensuite de superposer cette image avec fond transparent sur une autre
Merci de vos réponses
PYJ
Dernière modification par pyjoubert (Mon 18 March 2024 07:31)
Hors ligne
#3 Mon 18 March 2024 10:46
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS 3.28/PYQGIS: Tranparence image png et resolution
Bonjour,
Vous souhaitez remplacer le fond blanc par un fond transparent c'est ça ?
Je ne connais pas bien PyQGis, mais il faut déjà traiter l'image en amont de l'enregistrement en PNG, comme ici.
Sinon, vous pouvez aussi installer puis utiliser une bibliothèque externe comme PythonMagick :
Code:
import PythonMagick as pm img = pm.Image("votre_image") img.transparent('white') img.write("votre_nouvelle_image.png")
Hors ligne