banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB