【发布时间】:2011-08-25 18:51:48
【问题描述】:
我的 Rails 应用使用carrierwave 来管理图片上传。我的网站上有图片的水印版本。以前我在它们上面叠加了一个图像,如下所示:
def watermark
manipulate! do |img|
logo = Magick::Image.read("#{Rails.root}/public/images/plc-watermark.png").first
img = img.composite(logo, Magick::SouthEastGravity, Magick::OverCompositeOp)
end
end
现在我正在覆盖文本,如下所示:
def watermark
manipulate! do |img|
text = Magick::Draw.new
text.gravity = Magick::CenterGravity
text.pointsize = 12
text.font = "#{Rails.root}/public/fonts/hn300.ttf"
text.stroke = 'none'
text.annotate(img, 0, 0, 0, 0, "Photo © #{model.user.full_name}\nHosted by Placeology.ws\nPlease log in to remove this watermark")
img
end
end
现在,这适用于新图像,但是当我调用 recreate_versions 时!旧照片不换。如何获取这个新水印来替换旧水印?
我将 Fog 与 Amazon S3 一起用于开发和生产中的存储。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 amazon-s3 rmagick carrierwave