Je suis en train de créer une application similaire à Paint Comme je veux pouvoir repositionner et modifier les propriétés de forme plus tard, j'utilise Tkinter pour dessiner des formes sur Canvas au lieu de PIL Draw ou autre chose. D'autres réponses, j'ai trouvé comment enregistrer une toile au format PNG en créant un fichier postscript, puis en le convertissant au format PNG en utilisant PIL.Comment enregistrer un fichier .EPS au format PNG avec transparence en Python
Maintenant, le problème est le fichier EPS a des espaces transparents, mais le fichier PNG remplit ces vides avec une couleur de fond blanc. Je ne suis pas sûr d'où je vais mal.
Voici la fonction que j'ai utilisée.
def saveImg(event):
global canvas
canvas.postscript(file="my_drawing.eps", colormode='color')
imgNew = Image.open("my_drawing.eps")
imgNew.convert("RGBA")
imgNew.thumbnail((2000,2000), Image.ANTIALIAS)
imgNew.save('testImg.png', quality=90)
Avez-vous ghostscript installé dans votre système? BTW, quelle plate-forme exécutez-vous? –
@PauloScardine Oui! J'ai ghostscript installé. Je cours python 3.5.2 sur Mac OS –
Vous pourriez faire la conversion sur la ligne de commande avec GhostScript, comme ceci: 'gs -dSAFER -dNOPAUSE -dBATCH -r150 -sDEVICE = pngalpha -sOutputFile = testImg.png mon_drawing.eps '. Le '-r150' définit la résolution à 150 DPI, les résolutions plus élevées prennent plus de temps à rendre. –