我想将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?
答案 0 :(得分:2)
我想我找到了解决方案
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
答案 1 :(得分:0)
这是一个开放的wishlist项目:
来自PIL图像的AbstractImage。