这里每天分享一个 iOS 的新知识,快来关注我吧
前言
关注我的人基本都用 Mac 电脑吧,今天来介绍一个 Mac 上自带的图像处理命令,功能很强大,但很少人知道。
其实 macOS 长期以来一直有一个名为 sips 的命令行工具。这是一个全面的图像处理工具,还可以用于应用 ColorSync 配置文件。作为一个命令行工具,它可以直接在命令行中运行,并且可以在编写脚本以执行重复任务时使用。
举个例子:我经常需要对一批图像文件应用一组固定的属性——高度、宽度、格式、每英寸点数(DPI)分辨率,比如做公众号文章的封面。sips 让我无需启动 Pixelmator 或 Gimp 就能单独更改每张图像。
sips 的基础使用
查看图像信息
你可以使用 sips 查看图像的基本信息:
sips -g all /path/to/image.jpg
这个命令会返回 image.jpg 的所有元数据,包括宽度、高度、分辨率、颜色空间等。
如果像获取特定的信息,可以使用 -g 参数,后面跟随需要获取的信息,比如获取图片的宽度和高度:
sips -g pixelWidth -g pixelHeight /path/to/image.jpg
这个命令会返回 image.jpg 的宽度和高度。
调整图像大小
要调整图像的尺寸,可以使用 -z 参数,后面跟随新的高度和宽度,比如,我将上边的示例图片宽高改成 1024 x 1024:
sips -z 1024 1024 /path/to/image.jpg
这个命令将 image.jpg 裁剪为 1024 x 1024 像素。
改变图像格式
你可以使用 –setProperty(简写 -s) format 参数来改变图像格式,例如我上边图片是用 iPhone 相机拍出来的,格式为 HEIC,转换为 JPEG:
sips -s format jpeg example.HEIC
这个命令将 example.HEIC 转换为 example.jpg。
嵌入配置文件
你可以使用 -e 参数来嵌入一个 ColorSync 配置文件,例如:
sips -e /path/to/profile.icc /path/to/image.jpg
这个命令将 profile.icc 嵌入到 image.jpg 中。
设置图像分辨率
从第一条命令中可以看出,我的图片 dpiWidth 和 dpiHeight为 72 x 72,使用 -s dpiHeight 和 -s dpiWidth 可以设置图像的分辨率:
sips -s dpiHeight 300 -s dpiWidth 300 example.jpg
这个命令将 example.jpg 的分辨率设置为 300 DPI。
旋转图像
使用 -r 参数可以旋转图像,例如将图像旋转 90 度:
这个命令将 example.jpg 顺时针旋转 90 度。
翻转图像
使用 -f 参数可以翻转图像,例如将图像水平翻转:
sips -f horizontal example.jpg
这个命令将 example.jpg 水平翻转。
其他高级用法
通过脚本合并和自动化,可以实现更高级的功能,比如批量处理图片。
将文件夹中的 jpg 文件转换为 png
for fi in *.jpg; do sips -s format png $fi --out $fi.png; done
这个命令会将当前文件夹中的所有 jpg 文件转换为 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
这个脚本会将当前文件夹中的所有 png 文件按照原始尺寸的一半进行缩放。
make-jpeg-droplet,一个和 AppleScript 结合的例子
开源地址。
这是一个用 sips 实现的简单 GUI,可将文件转换为 jpg(带有源代码)。
结语
sips 是一个非常强大的图像处理工具,它是 macOS 自带的工具,不需要额外安装,如果你在工作生活中有批量或重复的图片处理工作,用这个工具再合适不过了,通过脚本使其自动化,远比每次动手打开图像编辑器操作要高效。希望今天的教程能帮到你,也希望 sips 能会让你的工作更加高效。
这里每天分享一个 iOS 的新知识,快来关注我吧
参考资料
[1]
make-jpeg-droplet: github.com/simonheys/m…
本文同步自微信公众号 “iOS新知”,每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=21344,转载请注明出处。
评论0