2009-08-13 76 views
2

在ruby项目中使用Rmagick生成一个标题,所有工作正常,但是我需要在标题后面放置一个图像,我想知道是否有任何方法可以找出宽度我刚刚绘制的文字? 感谢ruby​​ Rmagick文本宽度

canvas = Magick::Image.new(600, 18){ self.background_color = '#212121' } 
    gc = Magick::Draw.new 
    gc.fill('white') 
    gc.font = ("lib/fonts/AvenirLTStd-Book.otf") 
    gc.pointsize = 18.0 
    @title = "hello world" 
    gc.text(0, 14, @title) 
    gc.draw(canvas) 
    canvas.format = 'png' 
    canvas.to_blob 

回答

5

看一看get_type_metrics:

http://www.simplesystems.org/RMagick/doc/draw.html#get_type_metrics

在实际应用中,你要问文本将有多大,然后绘制,作为两个独立的操作。

+0

感谢这是正确的按钮病后邮编代码如何我提取文本宽度使用您的答案 – ADAM 2009-08-14 03:07:01

+0

metrics = gc.get_type_metrics(@title) puts metrics [3]#<<<这是我的文字宽度 – ADAM 2009-08-14 03:08:56