3

我正在使用 sorl-thumbnail,我想将图像大小调整为 200x200。假设图像将是 160x200,因为它不是正方形的。如何添加白色背景(或边框)以使生成的图像文件为 200x200?这可以通过 sorl-thumbnail 实现还是我可以添加此功能?

最佳雅克

4

2 回答 2

3

我想这有点晚了,但你可以在 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

于 2011-07-21T17:35:32.223 回答
-1

我对您将图像大小调整为 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 相比,我发现它在进行站点范围的图像修改时非常好。

于 2011-04-05T23:22:40.977 回答