如何向图像添加文字?

时间:2014-06-23 00:06:05

标签: ruby-on-rails ruby-on-rails-4 rmagick watermark

我正在尝试使用RMagick在我的图像上添加文字。这是我的代码:

version :thumb do
  process :resize_to_limit => [400, 300]
  process :addt
end

def addt
    manipulate! do |img|
      title = Magick::Draw.new
      img = title.annotate(img, 0,0,0,40, 'test') {
          self.font_family = 'Helvetica'
          self.fill = 'white'
          self.stroke = 'transparent'
          self.pointsize = 32
          self.font_weight = Magick::BoldWeight
          self.gravity = Magick::CenterGravity
      }

    end
end

此代码的问题在于它完全阻止了我的应用程序。我无法打开我的网站的任何其他部分,无法关闭我的服务器进程。我需要完全杀死服务器进程才能再次启动应用程序。

可能有什么问题?

1 个答案:

答案 0 :(得分:6)

试试这个,我无法解决你的代码。但希望这个可以帮助你。

首先安装这个宝石 来源: https://github.com/rmagick/rmagick

下一个 要开始玩RMagick,你可以将它放在你的一个控制器中:

require ‘RMagick’
include Magick

def addt

img = ImageList.new(‘Your image path eg.public/computer-cat.jpg’)
txt = Draw.new
img.annotate(txt, 0,0,0,0, “The text you want to add in the image”){
txt.gravity = Magick::SouthGravity
txt.pointsize = 25
txt.stroke = ‘#000000′
txt.fill = ‘#ffffff’
txt.font_weight = Magick::BoldWeight
}

img.format = ‘jpeg’
send_data img.to_blob, :stream => ‘false’, :filename => ‘test.jpg’, :type => ‘image/jpeg’,      :disposition => ‘inline’

end
希望这个能帮到你..

如果你无法理解..点击这个http://mikewilliamson.wordpress.com/2010/04/29/adding-text-to-pictures-with-rmagick-and-rails/