缩放和裁剪图像

Scale and crop image

我正在尝试缩放图像并将其从中心裁剪到特定大小。

基本上,如果我希望图像为 240x160(比例 1.5:1)并且图像为 900x800(比例 1.125:1)并使用这些设置:

filters:
    - { name: geometry/scaledownonly, params: [240, 160] }
    - { name: geometry/crop, params: [240, 160, 0, 0] }

但是我得不到想要的结果

相信您追求的结果符合以下配置:

...
image_variations:
    your_alias_name:
        reference: ~
        filters:
            thumbnail: { size: [240, 160], mode: outbound, allow_upscale: true }
...

此设置将生成一个裁剪到中心(到您想要的大小)的缩小版本。 不过,这是假设您正在使用 ezplatform 的已实现 image-alias-system。

希望这就是您要找的答案:)

在您网站设置 yaml 的 image_variations 块中,尝试添加以下内容:

image_variation_name:
    reference: ~
    filters:
        - { name: geometry/scaledownonly, params: [240, 160] }
        - { name: thumbnail, params: { size: [240, 160], mode: outbound } }

上面的代码块会做两件事。首先,您的图像将缩小到合适的尺寸(您已经有了那个尺寸)。接下来,缩略图过滤器将从中间向外(中心裁剪)裁剪图像到所需的尺寸。