PIL的ImageFile解析器和PNG


所以我一直在弄乱PIL和PNG,遇到了一个
PNG的问题很小。
因此,为了澄清,我正在使用标准的Ubuntu 8.04 Python-
安装Zlib和所有其他使用的成像包
与PNG一起工作,使PIL合作。
因此,这很好:
从PIL导入图像
x = image.open('Some.png')
X.Show()
但是,如果我试图变得更加狂热并做
从pil导入imageFile
p = imagefile.parser()
P.Feed(open('Some.png','rb')。read())
图像= p.close()
image.show()
我得到了追溯:
Trackback(最近的最新电话):
文件" basic_img.py",第9行,
image.show()
文件"/usr/lib/python2.5/site-packages/pil/image.py",第1450行,in
节目
_showxv(self,title,命令)
文件"/usr/lib/python2.5/site-packages/pil/image.py",第2089行,in
_showxv
file = image._dump(格式=格式)
文件"/usr/lib/python2.5/site-packages/pil/image.py",第477行,in
_倾倒
self.load()
文件"/usr/lib/python2.5/site-packages/pil/imagefile.py",第189行,
在负载中
s =读(self.decodermaxblock)
文件"/usr/lib/python2.5/site-packages/pil/pngimageplugin.py",line
365,在load_read中
返回self.fp.read(bytes)
文件"/usr/lib/python2.5/site-packages/pil/imagefile.py",第300行,
在阅读中
data = self.data [pos:pos+bytes]
typeError:"非电视"对象不可删除
但是,如果我要做的就是更改一些。
美好的。我是在做可怕的事情,还是忘了编译
应该为PNG支持而编译的东西?是
我刚刚找到的地方已知错误的错误(我已经
在PIL网站上搜索)
谢谢

# 回答1


11月12日,5:28*下午,Silfheed 哦,原谅错误的s(如png的...)
# 回答2


11月12日,6:04*PM,Silfheed 哦,原谅了错误的S(如PNG的...)

好吧,我不知道它有多少有效修复,但是在imagefile.py中,
简单地更改_parserfile的Close()以读取:
def关闭(自我):
self.offset =无
而不是
def关闭(自我):
self.data = self.offset =无
允许我正确加载PNG。

标签: python

添加新评论