Как преобразовать изображение Pyglet в изображение PIL? - PullRequest
1 голос
/ 22 мая 2009

я хочу преобразовать объект Pyglet.AbstractImage в изображение 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()

но показанное изображение пошло не так. Так как же правильно преобразовать изображение из pyglet в PIL?

Ответы [ 2 ]

2 голосов
/ 22 мая 2009

Я думаю, что я нашел решение

шаг в экземпляре Pyglet.AbstractImage не совместим с PIL Я обнаружил в Pyglet 1.1 есть функция кодека для кодирования изображения Pyglet в PIL вот ссылка на источник

поэтому приведенный выше код должен быть изменен на этот

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()

В этом случае я использую изображение 461x288 и обнаружил, что pic.pitch равно -1384

но новый шаг -1383

0 голосов
/ 22 мая 2009

Это открытый список желаний пункт:

AbstractImage к / от изображения PIL.

...