[Mac][CLI] 写真にファイル名を書き込む

写真にファイル名を書き込みたくなったのでやってみた。複数のファイルのファイルに対して一括処理をし、書き込むファイル名には拡張子を含めたくない。

環境:macOS Catalina 10.15.2

(0)使用したいフォントを選んでおく。

フォントファイルは /System/Library/Fonts/ にあるので、ファイル名を確認しておく。

(1)ImageMagick をインストール。

$ brew install imagemagick

(2)cd で対象ディレクトリへ移動。

(3)以下のコマンドで対象ディレクトリ以下の jpg ファイルにファイル名を書き込める。

$ mogrify -gravity South -font /System/Library/Fonts/Monaco.dfont -annotate 0 '%t' -pointsize 100 -fill white  -undercolor '#00000080'  *.jpg

メモ:
・gravity オプションで画像内の書き込む場所を設定。South は下中央だ。
・font オプションでフォントを指定する。フォントファイルまでパスを指定しないとコマンドでエラーが出た。今回は Monaco フォントを使ったが、日本語を文字化けさせないためには日本語フォントを使う必要がある。
・pointsize オプションでフォントサイズを指定。
・fill オプションでフォントの色、undercolor オプションで背景色を指定。
・annotate オプションの %t を %f にすると、拡張子を含んだファイル名を書き込める。
・annotate オプションの最初の数値で gravity で指定した位置からの相対値を指定する。今回は 0 にしている。

参考:
mac にImageMagickをインストールし、convertコマンドで画像を縮小する。 - Qiita
https://qiita.com/sowd/items/832594dd22d99aebc8a2

convert unable to read font - ImageMagick
https://imagemagick.org/discourse-server/viewtopic.php?t=34911

Macのフォントのファイルが存在するフォルダの場所 / Inforati
http://inforati.jp/apple/mac-tips-techniques/system-hints/where-is-the-folder-of-macos-font-file.html

ImageMagick Gravity 指定 - Qiita
https://qiita.com/yoya/items/b6926f01b7cb90217e07

Annotate filename without extension on Windows - ImageMagick
https://www.imagemagick.org/discourse-server/viewtopic.php?t=26016

Overlaying an image's filename using ImageMagick (or similar) - Stack Overflow
https://stackoverflow.com/questions/4106200/overlaying-an-images-filename-using-imagemagick-or-similar

ImageMagick 画像中に文字を入れる - Qiita
https://qiita.com/hsagae/items/1b72fb9f3d6024ba46f0

この記事が気に入ったらサポートをしてみませんか?