やってみた
フォーム送信されたテキストをImageMagickで吹き出し画像と合成するための簡単なサンプルを作りました。
ImageMagickとrmagickのインストールが必要です。
# encoding: utf-8
require 'sinatra'
require 'rmagick'
class App < Sinatra::Base
get '/' do
slim :index
end
post '/' do
message = params['message']
image = Magick::ImageList.new('public/image.png')
draw = Magick::Draw.new
draw.annotate(image, 0, 0, 50, 100, message) do
self.font = 'public/logotype.otf'
self.fill = '#333333'
self.align = Magick::LeftAlign
self.stroke = 'transparent'
self.pointsize = 30
self.text_antialias = true
self.kerning = 1
end
image.write('public/temp.png')
slim :index
end
end