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と互換性がありませんpyglet1.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 に答える