Como converter uma imagem Pyglet para uma imagem de PIL?
-
23-08-2019 - |
Pergunta
Eu quero converter um objeto Pyglet.AbstractImage a uma imagem PIL para posterior manipulação aqui estão meus códigos
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()
mas a imagem mostrada deu errado. assim como converter uma imagem de pyglet a PIL corretamente?
Solução
Eu acho que eu encontrar a solução
o gramado em instância Pyglet.AbstractImage não é compatível com PIL I encontrada em pyglet 1.1 existe uma função codec para codificar a imagem Pyglet para PIL aqui é o ligação à fonte
para que o código acima deve ser modificada para este
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()
Eu estou usando uma imagem de 461x288 neste caso e descobrir que pic.pitch é -1.384
mas o novo campo é -1.383
Outras dicas
Este é um lista item de aberta:
AbstractImage para / imagem PIL partir.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow