sips命令进行图片批量处理

sips是mac下的一个命令行工具,主要功能:

  • 转换图片格式
  • 修改图片大小
  • 修改图片质量
  • 设置版权信息
  • ···
    需要注意的是:使用sips命令,如果不用--out 指定输出目录或者图片名,sips 会直接修改原始图片。

查看sips是否存在

which sips
/usr/bin/sips

用法:

通过sips --h或者sips --help查看所有的用法


Usages:
    sips [image-functions] imagefile ... 
    sips [profile-functions] profile ... 

  Profile query functions: 
    -g, --getProperty key 
    -X, --extractTag tag tagFile 
        --verify 
    -1, --oneLine 

  Image query functions: 
    -g, --getProperty key 
    -x, --extractProfile profile 
    -1, --oneLine 

  Profile modification functions: 
    -s, --setProperty key value 
    -d, --deleteProperty key 
        --deleteTag tag 
        --copyTag srcTag dstTag 
        --loadTag tag tagFile 
        --repair 
    -o, --out file-or-directory 

  Image modification functions: 
    -s, --setProperty key value 
    -d, --deleteProperty key 
    -e, --embedProfile profile 
    -E, --embedProfileIfNone profile 
    -m, --matchTo profile 
    -M, --matchToWithIntent profile intent 
        --deleteColorManagementProperties 
    -r, --rotate degreesCW 
    -f, --flip horizontal|vertical  //flip:轻击;掷;翻转
    -c, --cropToHeightWidth pixelsH pixelsW 
        --cropOffset offsetY offsetH 
    -p, --padToHeightWidth pixelsH pixelsW 
        --padColor hexcolor 
    -z, --resampleHeightWidth pixelsH pixelsW 
        --resampleWidth pixelsW 
        --resampleHeight pixelsH 
    -Z, --resampleHeightWidthMax pixelsWH 
    -i, --addIcon 
        --optimizeColorForSharing 
    -o, --out file-or-directory 
    -j, --js file 

  Other functions: 
        --debug           Enable debugging output
    -h, --help            Show help
    -H, --helpProperties  Show help for properties
        --man             Generate man pages
    -v, --version         Show the version
        --formats         Show the read/write formats


图片重命名

图片批量加前缀

for i in *.jpg; do sips -Z "${i}" --out "test_${i%}"; done

图片批量指定宽度700px,并在文件名前面加"test_"。

for i in *.jpg; do sips -Z 700 "${i}" --out "test_${i%}"; done


裁剪

指定宽度为600px,高度自适应,Z大写

sips -Z 600 test.jpg

指定高度为300px,宽度为400px,z小写

sips -z 300 400 test.jpg

批量指定高度为300px,宽度为400px,文件名为“banner+序列号升序”,z小写,${i}表示文件名不变

for i in *.jpg; do sips -z 300 400 "${i}" --out "banner$n";done


旋转

可以用任意角度旋转图片,度数为正,表示顺时针旋转

sips -r 90 test.jpg

批量将图片顺时针旋转90°,并放在test文件夹下(需要县创建一个test文件夹),${i}表示文件名不变

for i in *.jpg; do sips -r 90 "${i}" --out ./test/"${i}"; done

水平/垂直方向旋转图片

sips -f horizontal test.jpg
sips -f vertical test.jpg

批量水平/垂直方向旋转图片并放在指定文件目录(01/02)下

for i in *.jpg; do sips -f horizontal "${i}" --out ./01/"${i}"; done
for i in *.jpg; do sips -f vertical  "${i}" --out ./02/"${i}"; done


转换图片格式

指定png图片,转换为.jpg

sips -s format jpeg test.png --out test.jpg

-s format jpeg:指定输出文件格式为 JPEG.
格式选项有 jpeg | tiff | png | gif | jp2 | pict | bmp | qtif | psd | sgi | tga

-s formatOptions 70:指定输出质量为70,图片质量支持default、low、normal、high、best、 百分比、lzw、packbits:


批量转换当前目录下的所有PNG文件为JPG文件并指定输出质量为70, ${i}表示文件名不变

for i in *.png; do sips -s format jpeg -s formatOptions 70 "${i}" --out "${i%png}jpg"; done

你可能感兴趣的:(sips命令进行图片批量处理)