ブログ用の画像にImageMagickでコピーライト、すかしを入れる

2021年11月10日

個人のブログでプライバシーポリシーやコピーライトはどう扱うべきなのであるのか調べつつ、まずは画像にコピーライトを入れることにした。

画像をSDカードからLinuxPCに取り込んでカレントに P1060039.JPG とかのファイルがあるとする。使用するツールは ImageMagick である。まずは右下に文字を書き込んでみる。

mogrify -resize 1024x -pointsize 24 -gravity southeast \
-annotate +2+2 "vister-max.com" -fill "#cccccc" \
-annotate +3+3 "vister-max.com" -fill "#111111" \
-quality 100 P*.JPG

できあがった画像がこれ。黒で書いてから1,1左上に白でもう一度書いている。リサイズも同時に行っている。

右下にテキスト

文字部分透過にするにはどうするのか?いろいろ調べてみるが現在のバージョンの annotateではできないらしいので
https://legacy.imagemagick.org/Usage/fonts/
こちらのサイトを参考にしてみた。

透過する範囲情報用の画像を作成する。

convert -size 1024x768 xc:transparent -pointsize 24 -gravity southeast \
-fill "#111111" -annotate +3+3 'vister-max.com' \
-fill "#cccccc" -annotate +5+5 'vister-max.com' \
-fill transparent -annotate +4+4 'vister-max.com' \
trans_stamp.png
作成された画像の右下

シャドウっぽい文字列の輪郭を作成する。

convert -size 1024x768 xc:black -pointsize 24 -gravity southeast \
-fill '#cccccc' -annotate +3+3 'vister-max.com' \
-fill '#cccccc' -annotate +5+5 'vister-max.com' \
-fill '#111111' -annotate +6+6 'vister-max.com' \
mask_mask.jpg
作成された画像の右下

二つの画像を合わせる。

composite -compose CopyOpacity mask_mask.jpg trans_stamp.png trans_stamp3.png
作成された画像の右下

デジカメの画像をリサイズしてから、加工用の画像と合成する。

mogrify -resize 1024x P1060039.JPG
composite trans_stamp3.png P1060039.JPG mask_result.jpg

これで作成された画像がこれ。

右下に透過テキスト

複数の画像を一括で処理するなら

mogrify -resize 1024x P*.JPG
find ~/ -maxdepth 1 -name "P*.JPG" -exec composite trans_stamp3.png {} {} \;

フォントや文字色、サイズを工夫すればもっといい感じになりそうなので、設定を変更しながらやっていこうと思う。