Mac OS X에서 명령 프롬프트(및/또는 Quicksilver)를 통해 이미지 크기를 최대 너비 또는 높이 500px로 조정하는 데 사용한 일부 코드가 있습니다. 유일한 문제는 원본 이미지가 너비나 높이가 500px보다 작은 경우 sips가 이미지를 확대한다는 것입니다. 이 이미지를 건너 뛰기를 원합니다.
어떻게 하면 그렇게 할 수 있나요?
이것은 내 코드입니다.
#!/bin/bash "$@"의 ARG용 하다 sips -Z 500 -s 형식 jpeg "$ARG" --out "${ARG%.*}.jpg" 완료
답변1
sips --getProperty pixelHeight filename.ext
및 의 출력을 처리 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