0
我試圖將端口Impressive與python3一起使用。PIL/Python 3移植令人印象深刻
在某一時刻,必須加載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的內容。儘管如此,仍然無法找到解決方案。
編輯:
從光盤加載圖像不是問題。
好吧,我曾嘗試已經使用BytesIO。圖像是硬編碼的,但會彈出的第一個錯誤消息是:'TypeError:'str'不支持緩衝區接口'。嘗試使用字節時(LOGO,'UTF-8')。它將再次成爲如下錯誤消息:'無法識別圖像文件<_io.BytesIO ...',只是將StringIO替換爲BytesIO。 – Nimi 2014-10-05 10:39:23
@Nimi,嘗試'latin1'編碼。魔術字節(LOGO,'latin1')或'LOGO.encode'('latin1')' – falsetru 2014-10-05 10:59:51
。這解決了我的問題。謝謝你的幫助。 – Nimi 2014-10-05 11:09:25