macOS 下使用自带的图片处理工具sips的完整教程
macOS 自带了一个强大的命令行工具——sips
(Scriptable Image Processing System),它是一个全面的图像处理工具。除了图像的格式转换和大小调整外,sips
还支持应用 ColorSync 配置文件等多种操作。作为命令行工具,它不仅适合简单的图像处理,还可以编写脚本用于批量操作,从而提高工作效率。
本文将详细介绍如何使用 sips
进行常见的图像处理任务,结合多个实际示例。
1. sips
的基础使用
1.1 查看图像信息
使用 sips
可以轻松获取图像的元数据,例如宽度、高度、分辨率等。
sips -g all /path/to/image.jpg
这条命令会输出 image.jpg
文件的所有元数据信息,包括宽度、高度、颜色空间、分辨率等。
如果只需要特定的图像信息,例如宽度和高度,可以通过以下命令实现:
sips -g pixelWidth -g pixelHeight /path/to/image.jpg
这样可以分别获取 image.jpg
的像素宽度和高度。
1.2 调整图像大小
调整图像大小可以使用 -z
参数,后面跟随目标高度和宽度。比如,将图片裁剪为 1024x1024 像素:
sips -z 1024 1024 /path/to/image.jpg
这条命令会将 image.jpg
的尺寸调整为 1024x1024。
1.3 改变图像格式
sips
可以轻松转换图像格式,例如将 HEIC 格式转换为 JPEG 格式:
sips -s format jpeg example.HEIC --out example.jpg
这个命令会将 example.HEIC
转换为 example.jpg
。
1.4 嵌入 ColorSync 配置文件
-e
参数可以用来嵌入 ColorSync 配置文件:
sips -e /path/to/profile.icc /path/to/image.jpg
这个命令将指定的 profile.icc
文件嵌入到 image.jpg
中。
1.5 设置图像分辨率
通过以下命令可以设置图像的 DPI 分辨率:
sips -s dpiHeight 300 -s dpiWidth 300 example.jpg
这条命令将 example.jpg
的分辨率设置为 300 DPI。
1.6 旋转图像
使用 -r
参数可以对图像进行旋转操作:
sips -r 90 example.jpg
这条命令会将 example.jpg
顺时针旋转 90 度。
1.7 翻转图像
可以使用 -f
参数来翻转图像,例如水平翻转:
sips -f horizontal example.jpg
这条命令将 example.jpg
进行水平翻转。
2. 批量处理与脚本自动化
sips
的强大之处在于可以结合脚本来批量处理文件,极大地提高工作效率。下面是一些常见的批处理脚本示例。
2.1 将文件夹中的 JPG 文件批量转换为 PNG
下面的脚本会将当前文件夹中的所有 .webp
文件转换为 .png
格式:
for fi in *.webp; do sips -s format png $fi --out $fi.png; done
2.2 按比例缩放图像
以下脚本可以将当前目录下的所有 .png
图片按比例缩小一半:
#!/bin/bash
if [ $1 ]
then
echo Processing file $1;
else
find . -name "*.png" -print0 | while IFS= read -r -d '' file; do
echo Processing file "$file";
sips -Z $(($(sips -g pixelWidth "$file" | cut -s -d ':' -f 2 | cut -c 2-) / 2)) "$file" --out "$file" &> /dev/null
done
fi
常用的命令中文参考
用法:
sips [图像功能] 图像文件 ...
sips [配置文件功能] 配置文件 ...
配置文件查询功能:
-g, --getProperty key 获取配置文件的指定属性
-X, --extractTag tag tagFile 提取指定标签并保存为文件
--verify 验证配置文件的完整性
-1, --oneLine 将输出简化为一行
图像查询功能:
-g, --getProperty key 获取图像的指定属性
-x, --extractProfile profile 提取嵌入的配置文件
-1, --oneLine 将输出简化为一行
配置文件修改功能:
-s, --setProperty key value 设置配置文件的指定属性
-d, --deleteProperty key 删除配置文件的指定属性
--deleteTag tag 删除指定的标签
--copyTag srcTag dstTag 复制标签
--loadTag tag tagFile 加载指定的标签文件
--repair 修复配置文件
-o, --out file-or-directory 输出文件或目录
图像修改功能:
-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 翻转图像,水平或垂直
-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 运行指定的 JavaScript 文件
其他功能:
--debug 启用调试输出
-h, --help 显示帮助信息
-H, --helpProperties 显示属性的帮助信息
--man 生成手册页
-v, --version 显示版本信息
--formats 显示支持的读/写格式
版权声明:本文为原创文章,版权归 全栈开发技术博客 所有。
本文链接:https://www.lvtao.net/tool/macos-sips.html
转载时须注明出处及本声明