资产,rmagick和铁路

时间:2014-07-26 03:04:28

标签: ruby-on-rails rmagick

我正在开发一款可以从用户生成数字卡的应用。目前我正在处理.rb文件中的rmagick代码。然后从命令行运行它,直到我把它弄清楚。我有一些问题。

  1. 源图像我无法找出它的路径。我能让它工作的唯一方法是将它放在带有cards.rb文件的controllers目录中。我想把它放在assets / cards /
  2. 保存文件,问题与上述相同。我想将它保存在assets/cards/@card_id.png
  3. 我尝试在assets / fonts / dir中使用自定义字体我尝试过self.font =“#{RAILS_ROOT} /assets/fonts/dreamorphansbd.ttf”,但代码不会跑。如果我删除它运行的引号,但字体不正确。
  4. 最后一件事,我还没有尝试过,将标题添加为数据库中的card.event。我认为它会沿着这条线但不确定。
  5. 要求' 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")
    

1 个答案:

答案 0 :(得分: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(“标题:#{obj_active_record.your_attribute}”)