Good vs. Evil photo by Tom Barrett (@wistomsin) on Unsplash
$ mm-make-banner input.jpg output.jpg "Background image by Tom Barrett / Unsplash.com"
#!/usr/bin/env ruby
FONT = '/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf'
LOGO_IMAGE = 'logo.png'
require 'fileutils'
require 'RMagick'
if ARGV.length != 3
puts "Usage: mm-make-banner input.jpg output.jpg \"Embedded Message\""
abort
end
= ARGV[0]
input_filename = ARGV[1]
output_filename = ARGV[2]
message
= Magick::Image.read(input_filename).first
image # image = image.resize_to_fill(1280, 528)
= image.resize_to_fill(1280, 670)
image
= Magick::Image.read(LOGO_IMAGE).first
logo = logo.resize_to_fill(300, 300)
logo .composite!(logo, Magick::CenterGravity, Magick::OverCompositeOp)
image
= Magick::Draw.new
draw
# Shadow
.annotate(image, 0, 0, 4, 4, message) do
drawself.font = FONT
self.fill = 'black'
self.stroke = 'transparent'
self.pointsize = 16
self.gravity = Magick::SouthEastGravity
end
# Message
.annotate(image, 0, 0, 5, 5, message) do
drawself.font = FONT
self.fill = 'gray'
self.stroke = 'transparent'
self.pointsize = 16
self.gravity = Magick::SouthEastGravity
end
.write(output_filename) image
RubyのRMagickで縦横比固定でリサイズしたり切り抜いたり - アインシュタインの電話番号
画像にロゴを埋め込むRubyスクリプト(RMagickを使う)
RMagick/ImageMagickで位置決めをする Gravityの挙動まとめ - Loud Minority
note(ノート)が「見出し画像」の比率を変更したので、以下のように修正しました。
# image = image.resize_to_fill(1280, 528)
image = image.resize_to_fill(1280, 670)