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