我想将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?
最佳答案
我想我找到了解决方案
Pyglet.AbstractImage实例中的音高与PIL不兼容
我在pyglet 1.1中发现有一个编解码器功能,可将Pyglet图像编码为PIL
这是来源的link
所以上面的代码应该修改为此
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
关于python - 如何将Pyglet图像转换为PIL图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/896548/