0

私のサイトにアップロードされたすべての JPEG ファイルのほとんどはプログレッシブ形式で保存されますが、元の画像がプログレッシブである場合、sorl-thumbnail によって生成されるサムネイルは生成されません。これは、たとえば、カルーセル/スライダー内に表示するための大きな画像のサムネイルを作成する場合に不可欠です。

sorl のトラッカーに関する問題を提出しましたが、既存のものに基づいてカスタム バックエンドを作成することで問題を解決できると思います。何か案は?

ありがとう!

4

1 に答える 1

2
from sorl.thumbnail.engines import pil_engine

class ProgressiveBackend(pil_engine.Engine):
    def _get_raw_data(self, image, format_, quality):
        ImageFile.MAXBLOCK = 1024 * 1024
        buf = StringIO()
        try:
            if format_=='JPEG':
                image.save(buf, format=format_, quality=quality, optimize=1, progressive=image.progressive)
            else:
                image.save(buf, format=format_, quality=quality, optimize=1)
        except IOError:
            image.save(buf, format=format_, quality=quality)
        raw_data = buf.getvalue()
        buf.close()
        return raw_data
于 2011-08-29T06:01:45.790 に答える