我有一些程式碼,我一直在使用這些程式碼透過命令提示字元(和/或quicksilver)將Mac OS X中的圖像大小調整為最大寬度或高度500px。唯一的問題是,如果原始影像的寬度或高度小於 500px,sips 會將其放大。我希望它跳過這些圖像。
我怎樣才能做到這一點?
這是我的程式碼:
#!/bin/bash 對於“$@”中的 ARG 做 sips -Z 500 -s 格式 jpeg "$ARG" --out "${ARG%.*}.jpg" 完畢
答案1
sips --getProperty pixelHeight filename.ext
處理and的輸出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
剩下的你可以自己做。
答案2
這可以透過一個命令讀取圖像的寬度和高度
#!/bin/bash
size=($(sips -g pixelWidth -g pixelHeight $theFile | grep -o '[0-9]*$'))
if [[ ${size[0]} -gt 500 || ${size[1]} -gt 500 ]]; then
growlnotify -m "large file needs reducing"
fi