为sorl-thumbnail提供的后端插件,用于优化缩略图
项目描述
版权所有 Peter Bengtsson,mail@peterbe.com,2015-2016
许可证:BSD
关于optisorl
sorl-thumbnail 是一个优秀的Django库,它可以自动将存储的图像转换为所需的尺寸的缩略图,并将其以美观的名称存储在 MEDIA_ROOT 中。问题是,执行缩放的引擎通常并不擅长优化这些图像。通常,优化图像意味着仔细删除人眼无法察觉的东西。当您创建的缩略图分辨率非常小,用户几乎没有机会注意到时,这一点变得极其相关。
此软件包是 sorl-thumbnail 的一个可插拔后端,它试图在图像写入磁盘后立即对其进行优化。
安装
首先,简单执行 pip install optisorl。
然后在您的Django设置中添加以下内容
THUMBNAIL_BACKEND = 'optisorl.backend.OptimizingThumbnailBackend'
然后查看以下关于PNG、GIF和JPEG的设置。
优化PNG
optisorl 使用一个名为 pngquant 的二进制文件,这是一个命令行工具,用于对PNG图像进行有损压缩,并支持alpha透明度。 pngquant 使用BSD许可证。它容易安装在大多数系统上。例如 brew install pngquant 或 apt-get install pngquant。
发生的情况是,当 optisorl 检测到一个缩略图已被创建(并存储在 MEDIA_ROOT 中)时,它会执行 pngquant,如下所示:
pngquant -o /path/file.tmp.png --skip-if-larger -- /path/file.png
注意 --skip-if-larger 选项,这意味着如果缩略图已经非常小,那么优化后的结果可能并不会更好,因此会跳过优化。
如果您想覆盖 pngquant 可执行文件的路径,可以设置以下配置:
# in settings.py or equivalent
PNGQUANT_LOCATION = '/opt/special/bin/pngquant2.0'
优化 GIF 图像
optisorl 使用 gifsicle 进行 3 级优化。gifsicle 是 GPL 许可证,但其使用不受许可证限制。要安装它,可以使用 brew install gifsicle 或 apt-get install gifsicle。
要覆盖 gifsicle 可执行文件的路径,您可以在配置中设置:
# in settings.py or equivalent
GIFSICLE_LOCATION = '/opt/special/bin/gifsicle'
如果您想禁用 GIF 图像的所有优化,只需将 GIFSICLE_LOCATION(在您的 settings.py 中)设置为 None 或 False。
优化 JPEG 图像
optisorl 使用 mozjpeg 来优化 JPEG 图像。它非常适合,因为它几乎不会降低到人眼可以察觉的质量。尤其是在缩略图相对较小的情况下。我们执行 mozjpeg 的命令如下所示:
mozjpeg -outfile DESTINATION -optimise SOURCE
您可以通过设置来覆盖可执行文件的路径:
# in settings.py or equivalent
MOZJPEG_LOCATION = '/my/bin/mozjpeg'
要了解使用 mozjpeg 可以获得什么样的结果,请参阅这篇博客文章:[mozjpeg 优化示例](https://www.peterbe.com/plog/examples-of-mozjpeg-savings)。还可以查看关于安装和示例的博客文章:[mozjpeg 安装和示例](https://www.peterbe.com/plog/mozjpeg-installation-and-sample)。
限制
欢迎提供帮助。目前…
不支持 S3 存储
无法在运行时禁用图像优化
无法覆盖某些 pngquant 参数
无法覆盖某些 gifsicle 参数
无法覆盖某些 mozjpeg 参数
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
optisorl-0.2.1.tar.gz 的散列
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4b18d8a270075aa0fe9588790162c03a80e822237e3346a2817d6e82236f1a49 |
|
MD5 | 8a330f29e4373193376494a427fa2f43 |
|
BLAKE2b-256 | d2634bbbaa95e5ccf5f39ea723714aa2e1ae861e1ce8cf408a874d7aed5d7aeb |
optisorl-0.2.1-py2-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 808f22b6d4da608a255f40792e80cf8483f443425dbcb5f18ebe236295c19bbf |
|
MD5 | a23d7148e36a26e0dcb5db205ca961d6 |
|
BLAKE2b-256 | e91917cf3bca1ba63dc633f5d146057f06096946a5c49f6ba4990f860d89010f |