2009-08-13 2 views
2

Im, используя Rmagick в проекте ruby, чтобы сгенерировать заголовок, все работает нормально, как показано ниже, но мне нужно поместить изображение после названия, и мне было интересно, есть ли способ узнать ширину текст, который я только что нарисовал? Благодаря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

+0

metrics = gc.get_type_metrics (@title) puts metrics [3] # <<< это моя ширина текста – ADAM

Смежные вопросы