Ruby rmagick:如何使文本更粗?
Ruby rmagick: How to make text more bold?
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 背景的图像。
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.
请参考下图-
实际结果-
期望的结果(大胆)-
如您所见,第二张图片包含更粗体的文字。
请帮忙。
我无法使用 Rmagick 使 helvetica 看起来更大胆。
最好的办法可能是下载 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
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 背景的图像。
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.
请参考下图-
实际结果-
期望的结果(大胆)-
如您所见,第二张图片包含更粗体的文字。
请帮忙。
我无法使用 Rmagick 使 helvetica 看起来更大胆。 最好的办法可能是下载 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