2012-03-12 85 views
3

我上传里面有:carrierwave水印的图像

version :profile do 
    process :resize_to_fill => [300, 300] 
    process :quality => 90 
    process :watermark 
    end 

那么:同时ImageMagick的安装

  • 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 
    
    • 上面将无法工作没有任何错误日志所以很很难调试

    • 有没有办法调试和修复以上代码,以制作一个适用于载波的工作水印方法?

  • +0

    到图像的路径看起来错误 - 资产通常在app /资产 – 2012-06-11 07:16:13

    +0

    你能请张贴的答案我们 – 2014-06-22 20:28:45

    回答

    5

    你在哪里写结果到磁盘?

    我相信composite方法本身不会将结果写入磁盘。您必须拨打img.write('composite.gif')(或您想要的任何文件名)才能实际保存组合结果。

    我想有可能carrierwave为您做这件事,但是您可以通过检查文件的输出内容和/或时间戳来查看上传后文件是否被修改了吗?

    编号:http://rmagick.rubyforge.org/src_over.html - 约一半下来的页面