首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ResizeToFit(width=max(source_pic_width,750) )

ResizeToFit(width=max(source_pic_width,750) )
EN

Stack Overflow用户
提问于 2017-05-05 08:53:07
回答 1查看 1.1K关注 0票数 1

django-imagekit==4.0

我组织了这样的事情:

代码语言:javascript
复制
class Image(CommonUrlMethodsMixin, GeneralModel):

    pic = models.ImageField(verbose_name=_("Image"), upload_to=get_upload_path)
    pic_xs = ImageSpecField(source='pic',
                                 processors=[ResizeToFit(width=500)],
                                 format='JPEG',
                                 options={'quality': 60},
                                 autoconvert=True)
    pic_sm = ImageSpecField(source='pic',
                                 processors=[ResizeToFit(width=750)],
                                 format='JPEG',
                                 options={'quality': 60})
    pic_md = ImageSpecField(source='pic',
                                 processors=[ResizeToFit(width=970)],
                                 format='JPEG',
                                 options={'quality': 60})
    pic_lg = ImageSpecField(source='pic',
                                 processors=[ResizeToFit(width=1170)],
                                 format='JPEG',
                                 options={'quality': 60})

问题是用户可以上传一张小图片。大约800 px宽。在这种情况下,似乎没有理由把它延伸到970和1170。让它只是原来的800。

在这种情况下,我更喜欢类似ResizeToFit(width=max(self.pic.width,750) )这样的东西。但我没能做到。

你能给我解释一下这件事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-19 07:17:26

ResizeToFiT接受另一个名为upscale的参数。默认情况下是True,但是当设置为False时,如果图像的尺寸小于目标尺寸,则图像不会被放大。

processors=[ResizeToFit(width=970, upscale=False)]

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43800546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档