2014-06-23 76 views
3

我想用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

您是否在IRB控制檯中嘗試過這種方法? – tebayoso

回答

5

只是試試這個,我無法解決你的代碼。但希望這個可以幫助你。

1日安裝此寶石 來源: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/