2017-01-27 46 views
1
def change_image_labels(feed_data) 
for data in feed_data 
    img = Image::read(@tmpdir_file_path+"/#{data[0]}.png").first.resize(600,600) 
redback = Image::read("#{Rails.root}/tmp/redback.png")[0] 
txt = Magick::Draw.new 
redback.annotate(txt,0,0,0,0,data[2]){ 
    txt.gravity = Magick::WestGravity 
    txt.pointsize = 50 
    txt.fill = "#ffffff" 
    txt.font_family = 'helvetica' 
    txt.font_weight = Magick::BoldWeight 
} 
img = img.composite(redback, 0, 30, AtopCompositeOp) 
img.write(@tmpdir_file_path+"/#{data[0]}.png") 
end 
end 

在這裏,我想用註釋REB背景與文本的圖像。Ruby rmagick:如何讓文本更加大膽?

Here `redback.annotate(txt,0,0,0,0,data[2]` `data[2]` refers to the text which contains data like 92% OFF. I want to make it bold. 

請參考下面的圖像 -

實際Result-

enter image description here

所需的結果(膽識) -

enter image description here

正如你可以第二個圖像包含更大膽的文字。

請幫忙。

+0

您的第一張圖片中的字體(「實際結果」)不僅不是粗體,而且絕對不是黑體。 – Stefan

回答

2

我不能讓Helvetica字體看起來大膽與Rmagick。 你最好的選擇可能是下載一個bolder font,將它複製到你的Rails項目,並告訴RMagick使用它:

txt.font = "#{Rails.root}/lib/fonts/[font filename].ttf" 

如果你很小心,你可以使文字更大膽的(但可能難看)與:

txt.stroke_width = 1 # <-- adjust this parameter 
txt.stroke = "#ffffff" 
txt.stroke_antialias true 
+0

感謝它的工作。我有helvetica字體。我在做同樣的事情,但我把這個字體文件放在別的地方。它通過放置在lib /字體中工作。再次感謝。 – RajSharma