2009-05-22 6 views
1

Je veux convertir un objet Pyglet.AbstractImage à une image PIL pour la manipulation plus voici mes codesComment convertir une image Pyglet en image PIL?

from pyglet import image 
from PIL import Image 
pic = image.load('pic.jpg') 
data = pic.get_data('RGB', pic.pitch) 
im = Image.fromstring('RGB', (pic.width, pic.height), data) 
im.show() 

mais l'image affichée a mal tourné. alors comment convertir une image de pyglet à PIL correctement?

Répondre

2

Je pense que je trouve la solution

le terrain en exemple Pyglet.AbstractImage est pas compatible avec PIL J'ai trouvé dans pyglet 1.1 il y a une fonction de codec pour encoder l'image Pyglet à PIL ici est la link à la source

de sorte que le code ci-dessus doit être modifié à cette

from pyglet import image 
from PIL import Image 
pic = image.load('pic.jpg') 
pitch = -(pic.width * len('RGB')) 
data = pic.get_data('RGB', pitch) # using the new pitch 
im = Image.fromstring('RGB', (pic.width, pic.height), data) 
im.show() 

J'utilise un 461x288 image dans ce cas et trouve que pic.pitch est -1384

mais le nouveau terrain est -1383

0

C'est un élément wishlist ouvert:

AbstractImage à/de l'image PIL.