【问题标题】:Carrierwave add a watermark to processed imagesCarrierwave 为处理后的图像添加水印
【发布时间】:2012-02-07 22:11:40
【问题描述】:

我正在尝试使用从多个资源中获得的以下代码为处理后的图像添加水印:

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 并且调整图像大小确实可以正常工作。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 carrierwave rmagick


    【解决方案1】:

    我就是这样做的,效果很好:

    # 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.

    【讨论】:

    • 感谢很多,完全有效,只有几个不同的参数,但我无法让它工作,也许是方向和我的水印图像将它超出了范围。
    • 您是否知道如何通过此设置使不那么突出的白色变得更加透明?谢谢!
    • 这个答案是 7 岁。任何人都可以在这里提供更新的语法吗?谢谢!
    • 我认为代码已经过时,直到我开始使用 rmagick gem,而不是 mini-magick gem。该代码与 rmagick gem 完美配合!
    猜你喜欢
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多