画像ファイルの縦横サイズを変更したいけどファイルが多い。
そんな時にどの様にして修正すればいいのかまとめてみました。
画像ファイルの縦横サイズを変更する方法はいくつかあります。
Mac のプレビュー機能でGUIで変更するか、CLIでコマンド叩いて変更するなど。
人によって適した方法は異なると思うのでまとめてみました。
まずは単体画像の縦横サイズを変更する方法です。
単体画像の縦横サイズを変更する方法 見出しへのリンク
Mac のプレビュー機能でリサイズする方法 見出しへのリンク
写真をダブルクリック » ツールタブ » サイズ調整 » 幅・高さを変更し OK ボタン押下
Unix,Linux,Mac ターミナルでリサイズする方法 見出しへのリンク
sips コマンド 見出しへのリンク
sips -Z 540 画像ファイル
ただこのコマンドでファイルサイズ変更したら、以下エラー発生しリサイズできなかったファイルあり。
Error: Unable to render destination image
以下ブログによると、画像の設定によって使用できないらしい(インデックス形式を利用していると)
[https://conocode.com/troubleshooting/mac-sips-command-resize-image-error/]
なので以下他の方法探してみました。
ImageMagick を使用しリサイズする 見出しへのリンク
convert コマンド 見出しへのリンク
リサイズした画像を新たなファイルとして作成する。
convert 画像ファイル.png -resize 540x540 resize_画像ファイル.png
resize_画像ファイル.pngの縦横サイズが540x540になっている
mogrify 見出しへのリンク
生成前のファイルに上書きする
縦横比固定
mogrify -resize 540x540 画像.png
縦横非維持
mogrify -resize 200x540! 画像.png
複数画像ファイルを一気にリサイズする方法 見出しへのリンク
Mac のプレビュー機能で複数リサイズする方法 見出しへのリンク
写真を複数選択しサムネイル画面から複数画像リサイズすること可能。
Unix,Linux,Mac ターミナルで複数リサイズする方法 見出しへのリンク
find コマンドで複数ファイルを検索する 見出しへのリンク
find . -type f -name "画像.png" | xargs コマンド;
以下の様に -exec で処理することもできますが、| xargs の方が処理早い。
-exec は見つけたファイル毎にコマンドを発行しますが、xargs コマンド一回の為。
- find で見つけた値が{}に含まれている。
find . -type f -name "画像.png" -exec コマンド {} \;
sips コマンド 見出しへのリンク
find . -name "画像.png" | xargs sips -Z 540;
ImageMagick convert コマンドの場合 見出しへのリンク
- find コマンドで見つけたファイルを{}に含め、リサイズ後「resize_画像.png」に変えて新規作成している。
find . -name 画像.png -exec convert {} -resize 540x540 resize_画像.png \;
ただ convert コマンドの場合 -exec で実施する方法でしか出来なかったので遅いかも。
xargs でも調べればできるかもだけど、mogrify で実施した方が良さげ。
ImageMagick mogrify の場合 見出しへのリンク
リサイズした画像は新規別名ファイルは作成せず、既存ファイルを上書きする。
find . -name 画像.png | xargs mogrify -resize 540x540;
画像の縦横サイズ確認 見出しへのリンク
単一 ファイル縦横サイズ確認 見出しへのリンク
- 該当ファイルの縦横サイズのみ表示していく。
identify -format '%wx%h\n' "ファイル名"
複数 ファイル縦横サイズ確認 見出しへのリンク
- 該当ファイルの縦横サイズのみ表示していく。
find . -type f -name "画像.png" | xargs identify -format '%wx%h\n'