【问题标题】:Assets, rmagick and rails资产、rmagick 和 rails
【发布时间】:2014-07-26 03:04:28
【问题描述】:

我正在开发一个可以从用户那里生成数字卡的应用程序。目前我正在处理 .rb 文件中的 rmagick 代码。然后从命令行运行它,直到我弄明白为止。我有几个问题。

  1. 源图像我不知道它的路径。我可以让它工作的唯一方法是如果我将它放在带有cards.rb文件的控制器目录中。我想把它放在资产/卡片中/
  2. 保存文件,问题同上。我想把它保存在 assets/cards/@card_id.png
  3. 我正在尝试在 assets/fonts/ 目录中使用自定义字体,我尝试过 self.font = “#{RAILS_ROOT}/assets/fonts/dreamorphansbd.ttf”,但代码无法运行。如果我删除引号,它会运行但字体不正确。
  4. 我还没有尝试过的最后一件事是将标题添加为来自数据库的 card.event。我认为它会沿着这条线走,但不确定。

需要'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")

【问题讨论】:

  • 嘿,你成功了吗?

标签: ruby-on-rails rmagick


【解决方案1】:
  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}")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多