FC2ブログ

|

ImageMagick: 画像に縁取り付き文字列を書き込む

元画像:
input

書き込んだ結果:
output

明るい画像でも暗い画像でも対応できるように白文字に黒縁取りで書き込みたい。

シェルスクリプトでも良かったかなと思いましたがなんとなく Ruby で。


# -*- coding: utf-8 -*-

def _exec cmd
  puts cmd
  system cmd
end

font_path = "./ume-tgo5.ttf" # 梅ゴシック O5
point_size = 32
text = ["日本語文字列", "123", "abcABC"].join("\n")
input_img = ARGV[0]

_exec <<EOB
convert \
  -font "#{font_path}" -pointsize #{point_size} \
  -gravity center \
  -annotate +0-1 "#{text}" \
  -fill "#0000" -stroke "#000a" -strokewidth 8 \
  "#{input_img}" __temp.png
EOB

_exec <<EOB
convert \
  -font "#{font_path}" -pointsize #{point_size} \
  -gravity center \
  -annotate 0 "#{text}" \
  -fill "#fff" \
  __temp.png output.jpg
EOB

使用画像はこちら: File:MountStQuentinByArthurStreeton.jpg - Wikipedia, the free encyclopedia

スポンサーサイト





** ホームに戻る

|