ActiveStorage变体组合

时间:2018-08-16 15:13:28

标签: ruby-on-rails imagemagick rails-activestorage

我需要在图像上添加水印,cmd ImageMagick命令

convert image.png watermark.png -composite target.jpg 

composite -watermark 30% -tile watermark.png image.png target.jpg

如何使用ActiveStorage :: Variant进行此操作?

2 个答案:

答案 0 :(得分:0)

仅添加宝石“ mini_magick”,安装并按照其说明进行操作。

然后,ActiveStorage可以访问该API,您可以在这里找到它:

https://www.imagemagick.org/script/mogrify.php 

在活动存储中,您可以像这样访问API:

<%= image_tag image.variant(resize: "500x500", monochrome: true) %>

问候

答案 1 :(得分:0)

尝试一下:

def medium_img_watermark
    if self.img_first.attached?
      self.img_first.variant(resize: '1200', quality: 75, density: 96,
                             combine_options: {
                              gravity: 'center',
                              draw: 'image Over 0,0 0,0 "public/logo_white.png"'
                            }).processed
    end
  end