我正在尝试使用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
此代码的问题在于它完全阻止了我的应用程序。我无法打开我的网站的任何其他部分,无法关闭我的服务器进程。我需要完全杀死服务器进程才能再次启动应用程序。
可能有什么问题?
答案 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/