2011-07-21 11 views
12

私はサムネイルのセットを作成しようとしています。それぞれのサムネイルは元のイメージから個別に縮小されています。PILイメージオブジェクトのPythonコピー

image = Image.open(path) 
image = image.crop((left, upper, right, lower)) 
for size in sizes: 
    temp = copy.copy(image) 
    temp.thumbnail((size, height), Image.ANTIALIAS) 
    temp.save('%s%s%s.%s' % (path, name, size, format), quality=95) 

上記のコードは正常に動作するように見えたが、一方で私はいくつかの画像は(私は多分にのみPNGため、それらについての特別な何言うことができない)、このエラーを発生させることを発見テスト:

/usr/local/lib/python2.6/site-packages/PIL/PngImagePlugin.py in read(self=<PIL.PngImagePlugin.PngStream instance>) 
line: s = self.fp.read(8) 
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'read' 

なしcopy()これらの画像は正常に動作します。

サムネイルごとに画像を開くだけで、画像を切り抜けることができましたが、私はむしろより良い解決策を用意しています。

答えて

32

copy.copy()は、PIL Imageクラスでは機能しません。

​​
+0

ありがとうございます。ありがとうございます。 – Steffen

関連する問題