在我的 uploader 中:
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
- 安装了 imagemagick 后上述功能将无法运行
没有错误记录所以很难调试
有没有办法调试和修复上面的代码,从而为载波制作一个有效的水印方法?
最佳答案
将结果写入磁盘的行在哪里?
我相信 composite
方法本身不会将结果写入磁盘。您必须调用 img.write('composite.gif')
(或您想要的任何文件名)才能实际保存合成结果。
我想 carrierwave 可能会为你做这件事,但你能通过检查文件的输出内容和/或时间戳来验证上传后文件是否被修改吗?
引用:http://rmagick.rubyforge.org/src_over.html - 大约在页面的一半处
关于ruby-on-rails - 载波水印图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9673582/