クロップ時にドキュメントプロファイルが変更され、PILで保存される理由を理解できません。カラープロファイルとしてsRGBを持つ画像と、タグなしのRGBを持つ画像でテストしました。Python PIL - クロップ、スケール、保存時にカラープロファイルをタグなしRGBに変更する
def scale(self, image):
images = []
image.seek(0)
try:
im = PIL.open(image)
except IOError, e:
logger.error(unicode(e), exc_info=True)
images.append({"file": image, "url": self.url, "size": "original"})
for size in IMAGE_WEB_SIZES:
d = cStringIO.StringIO()
try:
im = crop(image, size["width"], size["height"])
im.save(d, "JPEG")
images.append({"file": d, "url": self.scale_url(size["name"]), "size": size})
except IOError, e:
logger.error(unicode(e), exc_info=True)
pass
return images
元の画像と同じカラープロファイルで拡大縮小版を保存しようとしています。
EDIT:これによると、それはhttp://comments.gmane.org/gmane.comp.python.image/3215可能なはずですが、それでも更新PIL 1.1.7に
リンクディスカッションの最初の返信に記載されているパッチを見ましたか? PILのバージョンを更新するだけでは不十分です(下記の私の答えでは、私も1.1.7を使用していて、同じ問題がありました)。 – mgibsonbr
@mgibsonbr Florian HoechのハックのReadmeファイルによれば、他のライブラリは必要ありません。 1.1.7では、http://hg.effbot.org/pil-117/commits/03e996c3b271fd3dabb008a8c694b82e3e6c5917 – Christoffer