标题/标签方法不起作用

时间:2015-01-09 15:32:31

标签: python minimagick

我尝试使用标题和/或标签在我的图片上书写多行文字,但它并没有向图片写任何内容。

def self.post_open_ended_response
  image = MiniMagick::Image.open("public/text_response_bg.png")
  image.combine_options do |i|
    i.size "460x"
    i.gravity 'center'
    i.fill 'white'
    i.pointsize '40'
    i.caption 'blahblahblah'
    # i.label "blahblah  fsdfsd fsd fsd fds fsd fds fds"
    # i.composite "public/output.jpg"
 end
 image.write "public/output.jpg"
end

我想使用标题/标签而不是文字的原因是因为我读到imagemagick会神奇地缩放标题/标签的分数。我的文字长度会有所不同,所以我不想对其进行硬编码。

1 个答案:

答案 0 :(得分:0)

对于将来可能面临此问题的任何人 - 更新到最新的宝石(目前为4.2.0)。我在4.0.4上遇到了问题:

https://github.com/minimagick/minimagick/issues/191

更新 - 通常只需使用注释 - 它可以工作。如果需要文本操作,可以使用TextHelpers执行此操作。我已经完成了以下多线注释的示例:

def create_og_image
  message = word_wrap('This is a test string. ' + @blog.title, line_width: 30).upcase

  image = MiniMagick::Image.open(@blog.image.path(:open_graph))
  image.combine_options do |c|
    #c.label message
    c.gravity 'NorthWest'
    c.fill 'white'
    c.stroke 'white'
    c.strokewidth '0'
    c.pointsize '70'
    c.interline_spacing '10'
    c.font "AvantGarde-Book"
    #c.size "500x300 label:'#{message}'"
    #c.label message
    c.annotate '+500+318', message

  end

  image.write "/xxx/xxx/xxx/public/test_image/test_output.jpg"
end