在我最近为客户构建的应用程序中,以下代码导致变量@nameText
被评估,然后导致错误“无文本”(因为变量不存在)。
为了解决这个问题,我使用了 gsub,如下例所示。有没有办法告诉 Magick 根本不要评估字符串?
require 'RMagick'
@image = Magick::Image.read( '/path/to/image.jpg' ).first
@nameText = '@SomeTwitterUser'
@text = Magick::Draw.new
@text.font_family = 'Futura'
@text.pointsize = 22
@text.font_weight = Magick::BoldWeight
# Causes error 'no text'...
# @text.annotate( @image, 0,0,200,54, @nameText )
@text.annotate( @image, 0,0,200,54, @nameText.gsub('@', '\@') )