PIL Image mode "P" - & gt; "RGBA"
C'est ma question:
import Image
im = Image.open("1.png")
im.show()
print im.mode
im.convert("RGBA").save("2.png")
Bien, avec mon image, vous pouvez voir la différence.
Ma question est: comment puis-je convertir correctement?
Image:
Résultat:
REMARQUE: L'image d'origine est un semi-transparente, glow, la suite dispose d'un solide vert "glow"
source d'informationauteur mDroidd
Vous devez vous connecter pour publier un commentaire.
Ce problème a été signalé ici:
https://bitbucket.org/effbot/pil-2009-raclette/issue/8/corrupting-images-in-palette-mode
En Mars 2012, un commentaire dit que c'est résolu dans la version de développement de PIL. La plus récente version disponible est 1.1.7, de sorte que le correctif ne sera pas disponible jusqu'à 1.2 vient de sortir. PIL mises à jour très lentement, donc ne vous attendez pas à sortir bientôt.
Malheureusement, votre image PNG est un type qui PIL ne gère pas très bien - une palette de l'image avec un canal alpha. Lorsque vous ouvrez l'image, l'alpha est jeté et il n'y a aucun moyen de la récupérer.
C'est différent de l'habituel palette de transparence où un indice de la palette est utilisé pour désigner les pixels entièrement transparents.
Votre problème est que vous n'avez pas à fournir de l'information sur ce que PIL à utiliser comme source de canal ALPHA.
PIL ne sera pas sur son propre ajouter de la transparence à votre image.
Quelle partie de votre image que vous voulez être transparent?
Vous pouvez utiliser
scipy.misc.imread
: