资产、rmagick和Rails

3
我正在开发一款应用程序,可为用户生成数字卡片。目前我正在处理.rb文件中的rmagick代码。然后只需要从命令行运行它,直到我理清楚所有问题。我遇到了一些问题。
  1. 源图像路径不明。唯一能让它工作的方法是将其放置在具有cards.rb文件的controllers目录中。我希望将其放在assets/cards/中。
  2. 保存文件,与上面相同的问题。我想将其保存在assets/cards/@card_id.png中。
  3. 我正在尝试在assets/fonts/目录中使用自定义字体。我尝试使用self.font = “#{RAILS_ROOT}/assets/fonts/dreamorphansbd.ttf”,但代码无法运行。如果我去掉引号,代码可以运行,但字体不正确。
  4. 最后一件事,我还没有尝试过,就是将标题添加为来自数据库的card.event。我认为它将沿着这条线进行,但不确定。

require 'RMagick'

include Magick

blank = Magick::Image.read("Blank-Card.png").first

text = Image.read("caption:Some big long text would go here.") do
  self.gravity = CenterGravity
  self.font = #{RAILS_ROOT}/app/assets/fonts/dreamorphansbd.ttf
  self.background_color= "Transparent"
  self.size = "638x"
  self.pointsize = 40
end

blank.composite!(text[0], CenterGravity, Magick::OverCompositeOp)

blank.write("card.png")

嘿,你搞定了吗? - Raaz
1个回答

0
  1. 尝试:Magick::Image.read(Rails.root.join('image','Blank-Card.png')).first
  2. 尝试:blank.write(Rails.root.join('image','card.png'))
  3. 使用Magick.fonts,您将看到所有可用的字体
  4. 尝试:Image.read("caption:#{obj_active_record.your_attribute}")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接