Carrierwave为处理过的图像添加水印

我尝试使用以下代码从处理过的图像添加水印,这些代码来自多个资源:

def watermark manipulate! do |img| logo = Magick::Image.read("#{Rails.root}/assets/images/watermarks/watermark.png").first img = img.composite(logo, Magick::SouthEastGravity, Magick::OverCompositeOp) end end 

唯一的问题是,你猜它,不起作用。 我在日志/控制台中没有任何错误

这是我在上传和调用的方法,如:

 def function version :thumb do process :resize_to_fill => [96, 96] process :watermark end end 

有关获取一些日志的原因,为什么这不起作用? 我在我的系统(OSX)上安装了Rmagick gems和Imagemagick并且调整图像大小确实正常。

我只是这样做,它工作得非常好:

 # Process files as they are uploaded: process :resize_to_fill => [850, 315] process :convert => 'png' process :watermark def watermark manipulate! do |img| logo = Magick::Image.read("#{Rails.root}/app/assets/images/watermark.png").first img = img.composite(logo, Magick::NorthWestGravity, 15, 0, Magick::OverCompositeOp) end end 

B.