进入我的上传者:
version :profile do
process :resize_to_fill => [300, 300]
process :quality => 90
process :watermark
end
然后:
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
没有错误记录,因此非常难以调试
有没有办法调试和修复上面的代码,为carrierwave制作一个有效的水印方法?
答案 0 :(得分:5)
将结果写入磁盘的行在哪里?
我相信composite
方法本身并不会将结果写入磁盘。您必须调用img.write('composite.gif')
(或任何您想要的文件名)才能实际保存复合结果。
我认为carrierwave可能会为您执行此操作,但您是否可以通过检查文件的输出内容和/或时间戳来验证是否在上传后修改了文件?
参考:http://rmagick.rubyforge.org/src_over.html - 大约在页面的一半