ruby
1class ImageHelper 2 require 'mini_magick' 3 require 'securerandom' 4 5 BASE_IMAGE_PATH = './app/assets/images/bg_image.png'.freeze 6 GRAVITY = 'center'.freeze 7 TEXT_POSITION = '0,0'.freeze 8 FONT = './app/assets/fonts/komorebi-gothic.ttf'.freeze 9 FONT_SIZE = 65 10 INDENTION_COUNT = 11 11 ROW_LIMIT = 8 12 13 class << self 14 # 合成後のFileClassを生成 15 def build(text) 16 text = prepare_text(text) 17 @image = MiniMagick::Image.open(BASE_IMAGE_PATH) 18 configuration(text) 19 end 20 21 # 合成後のFileの書き出し 22 def write(text) 23 build(text) 24 @image.write uniq_file_name 25 end 26 27 private 28 29 # uniqなファイル名を返却 30 def uniq_file_name 31 "#{SecureRandom.hex}.png" 32 end 33 34 # 設定関連の値を代入 35 def configuration(text) 36 @image.combine_options do |config| 37 config.font FONT 38 config.gravity GRAVITY 39 config.pointsize FONT_SIZE 40 config.draw "text #{TEXT_POSITION} '#{text}'" 41 end 42 end 43 44 # 背景にいい感じに収まるように文字を調整して返却 45 def prepare_text(text) 46 text.scan(/.{1,#{INDENTION_COUNT}}/)[0...ROW_LIMIT].join("\n") 47 end 48 end 49end
consoleで画像の生成と書き出しまで動くことを確認したのですが、生成した画像をviewで使うにはどうすれば良いでしょうか?
ちなみにImageHelper classはプロおジェクト全体で使えるようにapplication.rbに読み込み済みです。
何卒よろしくお願いいたします
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。