Cwebp - 仅当图像较大时才调整大小

Cwebp - 仅当图像较大时才调整大小

cwebp - 将图像文件压缩为 WebP 文件

-resize width height

width将源大小调整为大小为x 的矩形height。如果宽度或高度参数中的一个(但不是两者)为 0,则将在保留纵横比的情况下计算该值。

-resize 选项将图像大小调整为宽度,但我希望仅当图像大于指定的宽度 x 高度时才进行调整大小。

答案1

对于那些正在搜索的人,请使用此片段

请注意,需要安装 ImageMagick 才能获取图像大小

#!/bin/bash

# On Debian/Ubuntu: sudo apt-get install imagemagick webp

for image in images/*.jpg; do
    if [[ ! -e $image ]];
        then continue;
    fi
    size=(`identify -format '%w %h' $image`)
    if [ ${size[0]} -gt ${size[1]} ]; then
        if [ ${size[0]} -gt 700 ]; then
            cwebp -q 50 -resize 700 0 -mt $image -o ${image%.*}.webp
        else
            cwebp -q 50 -mt $image -o ${image%.*}.webp
        fi
    else
        if [ ${size[1]} -gt 700 ]; then
            cwebp -q 50 -resize 0 700 -mt $image -o ${image%.*}.webp
        else
            cwebp -q 50 -mt $image -o ${image%.*}.webp
        fi
    fi
    rm $image
done

相关内容