2

我想将 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 呢?

4

2 回答 2

2

我想我找到了解决方案

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

于 2009-05-22T07:47:56.940 回答
0

这是一个打开的愿望清单项目:

AbstractImage 到/从 PIL 图像。

于 2009-05-22T06:10:05.743 回答