首页 > 解决方案 > 图片水印 MiniMagick & Rails 5.2

问题描述

我正在尝试为模型中的产品图像添加水印。我设置了静态图像进行测试,但出现错误,我不明白为什么。

任何人都可以协助我为什么会收到此错误:

“CIAO12.png”的未定义方法“复合”:字符串

当前设置:Rails 5.2 gem 'mini_magick', '~> 4.8'(包含在 Gemfile 中)

brew install imagemagick (成功)

代码正在对静态图像进行测试,但将更改为产品图像而不是“CIA012.png”图像。

显示动作

<div class="card-body">
  <h5 class="card-title"><%= @product.product_name %></h5>
  <% if @product.image.attached? %>
   <%= image_tag(@product.watermark) %>
  <% end %>
</div>

产品型号

def watermark
  first_image  = "CIAO12.png"
  second_image = "watermark.png"
  result = first_image.composite(second_image) do |c|
    c.compose "Over"    # OverCompositeOp
    c.geometry "+20+20" # copy second_image onto first_image from (20, 20)
  end
  result.write "output.jpg"
end

标签: ruby-on-railsimagemagickwatermarkminimagickruby-on-rails-5.2

解决方案


推荐阅读