sipsの-g(--getProperty)オプションを使うと、画像ファイルのプロパティ情報を確認できる。
-g allで全プロパティを取得する
-g allを指定すると、画像の主要なプロパティを一括で表示できる。
$ sips -g all photo.png
/Users/user/Desktop/photo.png
pixelWidth: 1200
pixelHeight: 630
typeIdentifier: public.png
format: png
formatOptions: default
dpiWidth: 96.000
dpiHeight: 96.000
samplesPerPixel: 3
bitsPerSample: 8
hasAlpha: no
space: RGB
1行目にファイルパス、2行目以降にプロパティが表示される。
相対パスでファイルを指定しても、1行目には絶対パスが表示される。
主なプロパティは以下の通り。
| プロパティ | 内容 |
|---|---|
| pixelWidth / pixelHeight | 画像の幅・高さ(ピクセル) |
| format | 画像フォーマット(png、jpeg など) |
| dpiWidth / dpiHeight | 解像度(DPI) |
| samplesPerPixel | 1ピクセルあたりのサンプル数 |
| bitsPerSample | 1サンプルあたりのビット数 |
| hasAlpha | アルファチャンネルの有無 |
| space | カラースペース(RGB など) |
カラープロファイルが埋め込まれた画像ではprofileプロパティも表示され、埋め込まれたカラープロファイル名(sRGB IEC61966-2.1など)を確認できる。JPEGファイルでよく見られる。
-gで特定のプロパティだけ取得する
-gにプロパティ名を指定すると、そのプロパティだけを取得できる。-gを複数回指定すれば、複数のプロパティをまとめて取得できる。
$ sips -g pixelWidth -g pixelHeight photo.png
/Users/user/Desktop/photo.png
pixelWidth: 1200
pixelHeight: 630
指定できるプロパティ名の一覧は後述の-Hオプションで確認できる。
-1オプションで1行にまとめる
-1(--oneLine)オプションを付けると、ファイルパスとプロパティを1行にまとめて出力する。
$ sips -1 -g pixelWidth photo.png
/Users/user/Desktop/photo.png|pixelWidth: 1200|
|区切りの1行形式になるため、複数ファイルの結果をgrepやスクリプトで処理したい場合に扱いやすい。
複数ファイルをまとめて確認する
画像ファイルを複数指定すると、ファイルごとに結果が表示される。
$ sips -g pixelWidth -g format photo.png photo2.png
/Users/user/Desktop/photo.png
pixelWidth: 1200
format: png
/Users/user/Desktop/photo2.png
pixelWidth: 1200
format: png
sips -g pixelWidth *.pngのようにワイルドカードで指定すれば、ディレクトリ内の画像ファイルをまとめて確認できる。
-Hオプションでプロパティキー一覧を確認する
-gで指定できるプロパティキーの一覧は-H(--helpProperties)オプションで確認できる。
$ sips -H
画像プロパティキーの一部を抜粋する。
| キー | 型 |
|---|---|
| dpiHeight | float |
| dpiWidth | float |
| pixelHeight | integer(読み取り専用) |
| pixelWidth | integer(読み取り専用) |
| typeIdentifier | string(読み取り専用) |
| format | string(jpeg、tiff、png、gif など) |
| space | string(読み取り専用) |
| hasAlpha | boolean(読み取り専用) |
pixelWidthのように読み取り専用のキーは、-s(--setProperty)オプションでは変更できない。
参考
SIPS Command: Scriptable Image Processing System in macOS\第一線のプログラマーの行動原理を学べる!/
