你如何在终端使用“sips”来调整图像大小,而不放大?

cwd*_*cwd 7 linux mac unix terminal macos

我有一些代码用于通过命令提示符(和/或 quicksilver)在 Mac OS X 中调整图像大小,最大宽度或高度为 500 像素。唯一的问题是,如果原始图像的宽度或高度小于 500 像素,则 sips 会将其放大。我希望它只是跳过这些图像。

我怎样才能做到这一点?

这是我的代码:

#!/bin/bash

对于“$@”中的 ARG
    做
        sips -Z 500 -s 格式 jpeg "$ARG" --out "${ARG%.*}.jpg"
完毕

Dan*_*eck 5

处理sips --getProperty pixelHeight filename.extand的输出并sips --getProperty pixelWidth filename.ext在条件中使用它,仅在需要时执行调整大小操作。


#!/bin/bash
height=`sips --getProperty pixelHeight url.png | sed -E "s/.*pixelHeight: ([0-9]+)/\1/g" | tail -1`
width=`sips --getProperty pixelWidth url.png | sed -E "s/.*pixelWidth: ([0-9]+)/\1/g" | tail -1`

if [[ $height -gt 500 || $width -gt 500 ]]; then
    growlnotify -m "large file needs reducing"
fi
Run Code Online (Sandbox Code Playgroud)

你可以自己做剩下的。