Mac OSには、sipsという画像を操作するコマンドがあります。 リファレンスが見つからなかったので、細かなプロパティを調べていきます。
sipsの基本的な使い方
基本的な使い方は下記の通りです。
sips [image-functions] imagefile ...
sips [profile-functions] profile ...
sipsには、「画像を操作する関数」と「プロファイルを操作する関数」の二つの系統があります。
プロファイル操作関数
プロパティを取得する: -g, --getProperty key
イメージファイルに設定されているプロパティを取得します。 keyには後述のプロパティを指定してください。 全てのプロパティを取得するには下記のようにします。
sips --getProperty all image.icc
sips -g all image.icc
任意のプロパティを取得するには下記のようにします。
sips --getProperty size image.icc
sips -g size image.icc
任意のプロパティを複数個同時に取得するには下記のようにします。
sips --getProperty size -g pcs image.icc
sips -g size -g pcs image.icc
出力を一行にする: -1, --oneLine
コマンドの結果をパイプでつないで一行で出力します。
sips -g all --oneLine image.icc
sips -g all -1 image.icc
-X, --extractTag tag tagFile
--verify
プロファイル加工関数
プロパティを上書きする: -s, --setProperty key value
上書き可能なプロパティをkeyとvalueを指定して上書きする。
sips --setProperty description aaaa image.icc
sips --s description aaaa image.icc
o, --out file-or-directory
イメージに対する操作結果は基本的に画像ファイルを上書きします。 このオプションを使うことで、操作結果を別のファイルとして保存します。
sips -s description aaaa image.icc --out image_.icc
sips -s description aaaa image.icc -o image_.icc
-d, --deleteProperty key
調査中
--deleteTag tag
調査中
--copyTag srcTag dstTag
調査中
--loadTag tag tagFile
調査中
--repair
調査中
イメージ操作関数
プロパティを取得する: -g, --getProperty key
イメージファイルに設定されているプロパティを取得します。 keyには後述のプロパティを指定してください。 全てのプロパティを取得するには下記のようにします。
sips --getProperty all image.HEIC
sips -g all image.HEIC
任意のプロパティを取得するには下記のようにします。
sips --getProperty size image.HEIC
sips -g size image.HEIC
任意のプロパティを複数個同時に取得するには下記のようにします。
sips --getProperty size -g pcs image.HEIC
sips -g size -g pcs image.HEIC
出力を一行にする:-1, --oneLine
コマンドの結果をパイプでつないで一行で出力します。 -lの方はエラーが発生して使えませんでした。
sips -g all --oneLine image.HEIC
-x, --extractProfile profile
調査中
イメージ加工関数
プロパティを上書きする: -s, --setProperty key value
上書き可能なプロパティをkeyとvalueを指定して上書きする。 特定のプロパティは上書きすることで、イメージファイル自体の内容を書き換えることができます。
sips --setProperty size description aaaa image.HEIC
sips --s size description aaaa image.HEIC
イメージファイルのフォーマットを変更する
sips --s format bmp image.HEIC -o image.bmp
ExIfを削除する
sips --s format bmp image.HEIC -o image.bmp
sips --s format jpeg image.bmp -o image.jpg
-o, --out file-or-directory
イメージに対する操作結果は基本的に画像ファイルを上書きします。 このオプションを使うことで、操作結果を別のファイルとして保存します。
sips -r 90 image.HEIC --out rotate.HEIC
sips -r 90 image.HEIC -o rotate.HEIC
イメージファイルを回転させる: -r, --rotate degreesCW
イメージファイルを時計回りに回転させます。 degreesCWは0~360までの間で指定します。 回転させた結果できる余白は、--padColorオプションで指定します。 デフォルトでは黒色で塗りつぶされました。(HEICイメージファイルだけ?)
sips --rotate 90 image.HEIC
sips -r 90 image.HEIC
イメージファイルを反転させる: -f, --flip horizontal|vertical
イメージファイルを任意の軸で反転させます。
- horizontal: 水平軸を基準で反転させます。結果としてイメージファイルは上下反転します。
-
vertical: 垂直軸を基準で反転させます。結果としてイメージファイルは左右反転します。
sips --flip horizontal image.HEIC sips -f horizontal image.HEIC
イメージファイルを切り出す: -c, --cropToHeightWidth pixelsH pixelsW
イメージファイルから任意の部分を切り出します。
- pixelsH: 切り出すイメージの高さをpxで指定します。
- pixelsW: 切り出すイメージの幅をpxで指定します。
sips --cropToHeightWidth 100 100 image.HEIC
sips -c 100 100 image.HEIC
イメージファイルを切り出す範囲を指定する: --cropOffset offsetY offsetH
イメージファイルから任意の部分を切り出すときにオフセットを指定します。
- offsetY: Y軸のオフセット値を指定します。
-
offsetH: 切り出す高さを指定します。。
sips -c 100 100 --cropOffset 50 50 image.HEIC
-p, --padToHeightWidth pixelsH pixelsW
調査中
--padColor hexcolor
イメージファイル加工した結果できる空白の色をhexcolor文字列で指定し、色を埋めます。
sips -r 30 --padColor d3ffce image.HEIC
イメージファイルを任意の幅と高さにリサイズする: -z, --resampleHeightWidth pixelsH pixelsW
イメージファイルを任意の幅にリサイズします。 幅と高さの比率を維持してリサイズが行われます。
sips --resampleWidth 100 image.HEIC
イメージファイルを幅を指定してリサイズする: --resampleWidth pixelsW
イメージファイルを任意の幅にリサイズします。 幅と高さの比率を維持してリサイズが行われます。
sips --resampleWidth 100 image.HEIC
イメージファイルを高さを指定してリサイズする: --resampleHeight pixelsH
イメージファイルを任意の高さにリサイズします。 幅と高さの比率を維持してリサイズが行われます。
sips --resampleHeight 100 image.HEIC
-Z, --resampleHeightWidthMax pixelsWH
イメージファイルを高さか幅のどちらか大きい方に合わせてリサイズします。 幅と高さの比率を維持してリサイズが行われます。
sips --resampleHeightWidthMax 100 image.HEIC
-i, --addIcon
調査中
--optimizeColorForSharing
調査中
-j, --js file
調査中
-d, --deleteProperty key
調査中
-e, --embedProfile profile
調査中
-E, --embedProfileIfNone profile
調査中
-m, --matchTo profile
調査中
-M, --matchToWithIntent profile intent
調査中
--deleteColorManagementProperties
調査中
プロパティ一覧
--getProperty, --setProperty, --deleteProperty等のコマンドは、任意のkeyを指定する必要があります。 イメージとプロファイルではそれぞれ後述のパラメータをキーとして設定することができます。
特別なキー:
全てのプロパティを出力する特別なキーです。
- all: 全てのプロパティをテキストで出力する特別なキーです。
- allxml: 全てのプロパティをXML出力する特別なキーです。
プロファイルプロパティのキー:
- size(integer, read-only):
- class(string, read-only):
- space(string, read-only):
- pcs(string, read-only):
- md5(string, read-only):
- description(utf8, string):
- cmm(string):
- version(string):
- creation(string):
- platform(string):
-
quality(string):
- normal
- draft
- best
- deviceManufacturer(string):
- deviceModel(integer):
- deviceAttributes0(integer):
- deviceAttributes1(integer):
-
renderingIntent(string):
- perceptual
- relative
- saturation
- absolute
- creator(string):
- copyright(string):
イメージプロパティのキー:
- pixelHeight(integer, read-only):
- pixelWidth(integer, read-only):
- typeIdentifier(string, read-only):
- space(string, read-only):
- samplesPerPixel(integer, read-only):
- bitsPerSample(integer, read-only):
- creation(string, read-only):
- software(string, read-only):
- hasAlpha(boolean, read-only):
- dpiHeight(float):
- dpiWidth(float):
-
format(string):
- jpeg
- tiff
- png
- gif
- jp2
- pict
- bmp
- qtif
- psd
- sgi
- tga
- heic
-
formatOptions(string):
- default
- [low|normal|high|best|
] - [lzw|packbits]
- make(string):
- model(string):
- description(string):
- copyright(string):
- artist(string):
- profile(binary, data):