我正在尝试构建一个rails应用程序,通过在默认图像上叠加文本来生成图像。
我几乎就在那里 - 通过使用carrierwave + mini magick我有这个方法工作:
def generate_image
message = self.description.upcase
image = MiniMagick::Image.open('public/base.jpg')
image.combine_options do |c|
c.size '400x500'
c.gravity 'NorthWest'
c.fill 'black'
c.strokewidth '2'
c.pointsize '48'
c.interline_spacing '-9'
c.font "#{Rails.root}/public/black.ttf"
c.draw "text 40,40 '#{message}'"
c.antialias
end
self.image = image
end
问题是我希望我的文字符合我指定的大小 - 但我没有运气!
阅读Image Magick文档我知道我应该使用" capition"方法而不是绘制 - 但是当我这样做时它会抛出一个可怕的错误:):
failed with error: mogrify: no encode delegate for this image format `CAPTION' @
error/constitute.c/WriteImage/1167.
任何线索?
谢谢!