大多数上传到我的网站的 JPEG 文件都以渐进格式保存,但是当原始图像是渐进式时,sorl-thumbnail 生成的缩略图不会生成为渐进式。这在创建大图像的缩略图时非常重要,例如,在轮播/滑块中显示。
我已经在 sorl 的跟踪器上提出了一个问题,但我认为也许基于现有的后端创建一个自定义后端,可以解决这个问题。有任何想法吗?
谢谢!
大多数上传到我的网站的 JPEG 文件都以渐进格式保存,但是当原始图像是渐进式时,sorl-thumbnail 生成的缩略图不会生成为渐进式。这在创建大图像的缩略图时非常重要,例如,在轮播/滑块中显示。
我已经在 sorl 的跟踪器上提出了一个问题,但我认为也许基于现有的后端创建一个自定义后端,可以解决这个问题。有任何想法吗?
谢谢!
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