Mac 自帶的圖像處理神器,你竟然不知道?

前言

關注我的人基本都用 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 --out example.jpg

這個命令將 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 度:

sips -r 90 example.jpg

這個命令將 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 結合的例子

開源地址 [1]。

這是一個用 sips 實現的簡單 GUI,可將文件轉換爲 jpg(帶有源代碼)。

結語

sips 是一個非常強大的圖像處理工具,它是 macOS 自帶的工具,不需要額外安裝,如果你在工作生活中有批量或重複的圖片處理工作,用這個工具再合適不過了,通過腳本使其自動化,遠比每次動手打開圖像編輯器操作要高效。希望今天的教程能幫到你,也希望 sips 能會讓你的工作更加高效。

參考資料

[1]

make-jpeg-droplet: https://github.com/simonheys/make-jpeg-droplet/blob/main/MakeJpeg%2060.applescript

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/UhtR2_TSpHk_5EytaMubDQ