关于仅指定宽度以保留图片比例的Image Variant技术问询
关于Active Storage Variant仅指定尺寸保留比例的问题
当然支持啦!Rails的Active Storage里的variant方法的resize参数设计得很灵活,完全能实现只指定宽度(或高度),让另一边按原始比例自动适配的需求。
你只需要调整resize的参数写法就行:
- 仅指定宽度,高度按比例自动计算:
image_tag user.avatar.variant(resize: "100x") - 仅指定高度,宽度按比例自动计算:
image_tag user.avatar.variant(resize: "x100")
另外给你补充两个实用的小技巧:
- 如果想让图片不超过指定的宽度(原图比100窄就不缩放),可以加个
>符号:image_tag user.avatar.variant(resize: "100x>") - 要是想让图片不小于指定宽度(原图比100宽就不缩放),用
<符号:image_tag user.avatar.variant(resize: "100x<")
之前你用的"100x100!"是强制把图片拉伸/压缩到固定的100x100尺寸,会破坏原始比例;而只写单边尺寸的方式,就能完美保留图片原本的宽高比啦。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

