我正在尝试缩放图像,并将其从中心裁剪到一定大小。
基本上,如果我希望图像是240x160(比例1.5:1),并且我有900x800(比例1.125:1)的图像,并使用这些设置:
filters:
- { name: geometry/scaledownonly, params: [240, 160] }
- { name: geometry/crop, params: [240, 160, 0, 0] }
但是我不能得到想要的结果。
在站点设置yaml的站点image_variations
块中,尝试添加以下内容:
image_variation_name:
reference: ~
filters:
- { name: geometry/scaledownonly, params: [240, 160] }
- { name: thumbnail, params: { size: [240, 160], mode: outbound } }
上面的块将做两件事。首先,你的图像会缩小到合适的大小(你已经有了这个尺寸)。接下来,缩略图过滤器将从中间向外(中心裁剪)裁剪图像至所需尺寸。
我相信您追求的结果适合以下配置:
...
image_variations:
your_alias_name:
reference: ~
filters:
thumbnail: { size: [240, 160], mode: outbound, allow_upscale: true }
...
此设置将生成一个按比例缩小的版本,裁剪到中心(您需要的大小)。不过,这是假设您使用的是ezplatform的已实现的图像别名系统。
希望这是你正在寻找的答案:)