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