我正在使用 sorl-thumbnail,我想将图像大小调整为 200x200。假设图像将是 160x200,因为它不是正方形的。如何添加白色背景(或边框)以使生成的图像文件为 200x200?这可以通过 sorl-thumbnail 实现还是我可以添加此功能?
最佳雅克
我正在使用 sorl-thumbnail,我想将图像大小调整为 200x200。假设图像将是 160x200,因为它不是正方形的。如何添加白色背景(或边框)以使生成的图像文件为 200x200?这可以通过 sorl-thumbnail 实现还是我可以添加此功能?
最佳雅克
我想这有点晚了,但你可以在 margin 属性中找到你的答案:
简而言之:
{% thumbnail something.image "200x200" as image %}
<img src="{{ image.url }}" style="padding:{{ image|margin:"200x200" }}" />
{% endthumbnail %}
...并且不要忘记设置
img { background-color: #fff; }
文档中的详细信息:http: //thumbnail.sorl.net/template.html#margin
我对您将图像大小调整为 200x200 再调整为 160x200 的意思感到困惑。您是否只想根据图像的最长边按比例裁剪图像?如果是这样,您可以这样做:
{% thumbnail something.image "200x200" as image %}
<img src="{{ image.url }}" alt="{{ something.name }}" />
{% endthumbnail %}
这应该会给你在裁剪方面你正在寻找的行为。
您是否希望在图像上实际覆盖边框,或者通过 CSS 创建边框是否合适?
img {
background-color: #fff;
padding: 2px;
}
相反,如果您确实想更改图像本身,我相信您可以修改源代码(您可以在 GitHub 上 fork 此处)来做您需要的事情。
如果您想做诸如水印之类的事情,我还可以推荐django-photologue作为替代方案……与 sorl 相比,我发现它在进行站点范围的图像修改时非常好。