画像に右下にタイムスタンプを付ける。

Pocket

画像にタイムスタンプを付けようと思います。

Linuxユーザで画像処理を行う場合の必須アイテムと言えば、ImageMagickですよね。

既にたくさんブログがあると思うのですが、ここは私の備忘録ということで、簡単に(^^ゞ

ImageMagickは標準ではインストールされていませんが、yumを使えば簡単にインストールできます。

既に私の環境にはインストールされていたの、うろ覚えですが・・・

こんだけじゃないかな?
間違っていたらごめんなさいm(__)m

取りあえず、準備が整ったら、以下のコマンドを実行してください。
設定内容は以下の通り。

コマンドにするとこんな感じ

設定項目 項目 設定内容
入力画像 hogehoge.jpg
文字サイズ -pointsize 48ポイント
文字塗潰し -fill 白(white)
文字外枠幅 -strokewidth 1
文字外枠色 -stroke 黒(black)
文字位置 -gravity 右下(SouthEast)
文字位置補正 -annotate XY方向にオフセット(+40+40)
描画文字列 後で説明
フォント -font arial.ttf
(多分入ってる)
出力ファイル out.jpg

コマンドにするとこんな感じです。

-annotateは文字の傾きを指定するのに使用している例が多くみられるのですが、今回は傾きは必要なく、オフセット位置をしていたいだけなので、+40+40としました。
画像サイズなどに応じて適宜変更が必要です。

-gravityは画像の上(北:North)/下(南:South)/右(東:East)/左(西:West)とし、それぞれの組み合わせたりして使います。
今回は右下に付けたかったので、SoutEastとしました。
その補正位置(オフセット)を-annotateで指定しています。

描画文字列については、単純に文字列を記載すれば良いのですが、今回はタイムスタンプを入れたかったので、ファイルの生成時刻を元に入れました。
dateコマンドの-rオプションでファイルを指定することで、ファイルの生成時刻を取得しています。

画像情報から時刻を取得する場合はこんな感じかな?

長ったらしくなりましたね。
シェル作った方が賢いかな?

取りあえず説明。
以下の部分で画像情報を取り出して、そこから更新日付を抜き出して加工しています。

ImageMagickに含まれているidentifyを使って画像情報を取り出しています。
編集内容については、画像情報の内容を見てから最終的に変更する必要があるかも知れませんので、単純にこのコマンドで実現できるかどうかは環境依存と考えてください。

というこで、今回はこの程度。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください