ruby-on-rails - 载波水印图像

标签 ruby-on-rails ruby-on-rails-3 carrierwave watermark

在我的 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/

相关文章:

file - 将大图像上传到 s3 时 Elastic Beanstalk 超时

ruby-on-rails - 使用 carrierwave gem rails4 安全上传/下载文件

ruby-on-rails - 覆盖设计 after_sign_up_path_for 不起作用

ruby-on-rails-3 - 如何将 resque 与橡胶 gem 一起使用

ruby-on-rails - Ruby on Rails - 在 Windows 上安装后无法识别捆绑命令

ruby-on-rails - 在 rails db 中存储星期几(星期一、星期二、星期三、...)并与今天的日期进行比较

ruby-on-rails - 如何让 bundler 识别已安装的路边 gem ?

amazon-s3 - 如何使用 S3、CloudFront 和 Carrierwave 设置私有(private)文件

ruby-on-rails - 正则表达式忽略以下划线开头的单词或文件开头的路径

ruby-on-rails - 将 Rails 3.0.3 更新到 3.0.5