2009-05-22 108 views
1

我想一个Pyglet.AbstractImage对象转换为PIL图像进行进一步操作 这里是我的代码如何将Pyglet图像转换为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

我想我找到解决办法

在Pyglet.AbstractImage实例的间距不与PIL 兼容我在pyglet 1.1发现有一个编解码器功能的Pyglet图像编码为PIL 这里是link到源

所以上述代码应我使用的是461x288进行修改,以此

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

图像在这种情况下,发现pic.pitch是-1384

但新的音高是-1383

0

这是一个开放wishlist项:

AbstractImage向/从图像PIL。