PIL / Python 3移植令人印象深刻

时间:2014-10-05 10:14:06

标签: python python-3.x python-imaging-library

我试图将Impressive移植到python3上使用它。

在某些时候,必须加载LOGO。 LOGO是硬编码的。 所以它看起来像这样:

LOGO = '\x89PNG\r\n\x1a\n\x00\x0 ...'
LogoImage = Image.open(StringIO.StringIO(LOGO))

尝试通过将行更改为:

来将其移植到python3时使用
LogoImage = Image.open(io.StringIO(LOGO))

我收到以下错误消息

OSError: cannot identify image file <_io.StringIO object at 0x106b388b8>

我读了一下StringIO和BytesIO。但是,找不到解决方案了。

编辑:

从光盘加载图像不是问题。

1 个答案:

答案 0 :(得分:1)

您需要使用bytes instead of strio.Bytes代替io.StringIO

LOGO = b'\x89PNG\r\n\x1a\n\x00\x0 ...'   # NOTE: leading `b`
LogoImage = Image.open(io.BytesIO(LOGO))