Imaginez un cercle rouge avec un ombres à paupières noires qui disparaît sur un fond entièrement transparent. Lorsque j'ouvre et réenregistre l'image avec PIL, l'arrière-plan reste entièrement transparent, mais l'ombre à gouttes devient complètement noire.Python PIL - Toutes les zones de PNG avec opacité> 0 ont leur opacité définie sur 1
Le problème apparaît sans même altérer l'image:
image = Image.open('input.png')
image = image.convert('RGBA')
image.save('output.png')
Je veux garder l'image à la recherche exactement comme l'original pour que je puisse rogner ou redimensionner.
EDIT: Voici un fichier PNG qui illustre l'effet. Il a été converti en 8 bits en utilisant PNGNQ.
Lorsque vous utilisez le code Python ci-dessus, il est comme ce qui suit:
@Kyle: voulez-vous poster 'input.png' et 'output.png'? Je n'arrive pas à reproduire le problème. – unutbu
J'ai édité le fichier pour "rédiger" des choses sensibles et l'image réenregistrée a bien fonctionné. J'ai donc réalisé que input.png est un PNG 8 bits et je pense que c'est trop d'efforts pour les prendre en compte étant donné qu'ils sont assez rares en dehors des graphismes web. –
Quelle est la saveur du format '.png' est' input.png' - dans quel format est-il pour commencer? – martineau