0

就我而言,我有机会生成图像缩略图并在将它们上传到管理员计算机上的服务器 (Amazon S3)之前进行一些后处理。
我知道 sorl 在生成缩略图之前会检查它是否存在,但是使用了一种复杂的命名方案,所以我希望有一种方法可以直接从我的脚本中访问 sorl。

官方文档没有说明单独使用 sorl-thumbnail,有什么建议吗?

4

2 回答 2

0

除非您正在做一些复杂的事情,否则我会考虑使用ImageMagick进行这种离线处理。对于像缩放图像和合成徽标这样的简单任务,编写 ImageMagick 单行代码更快更容易:

convert in.jpg -scale 200x200 logo.png -gravity SouthEast -composite out.jpg

而不是在 PIL 中实现相同的东西。

于 2012-04-03T23:04:02.127 回答
0

我建议您查看 sorl-thumbnail 的来源。真的所有 sorl-thumbnail 都是 PIL(python 图像库)的包装器。尽管我确信您可以找到一种可能将 sorl-thumbnail 与 django 分离的方法,但这将是不平凡的。也就是说,如果您说将其设置为管理命令(结果是完整的 django 环境),您将能够使用 sorl-thumbnail 文档中记录的低级 api。

这就是说,你可能会更好地弄清楚 sorl-thumbnail 如何与 PIL 接口并以解耦的方式复制那部分代码,因为你将不得不进行额外的后期处理(可能再次使用 PIL),而 sorl-thumbnail 可以'反正也不行。

还要记住所有这些,我不确定你的意图是什么......这些都不是你可以设置为在网络服务器上运行的东西。您不能在连接到 django 服务器的客户端计算机上运行 python 脚本,这简直是不可能的。但是,如果您只是将其分发给某些同事或其他东西,则完全可以生成一个 python 程序来生成带水印的缩略图。

如果您确实试图让任意人访问您的网站并通过网络界面向您上传带水印/缩略图的文件......那么您将需要开始一些认真的 javascript 学习。

于 2012-04-03T22:55:25.363 回答