【问题标题】:ActiveStorage variant compositeActiveStorage 变体组合
【发布时间】:2018-08-16 15:13:28
【问题描述】:
我需要给图片加水印,cmd ImageMagick 命令
convert image.png watermark.png -composite target.jpg
或
composite -watermark 30% -tile watermark.png image.png target.jpg
如何使用 ActiveStorage::Variant 执行此操作?
【问题讨论】:
标签:
ruby-on-rails
imagemagick
rails-activestorage
【解决方案1】:
试试这个:
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
【解决方案2】:
只需添加 gem 'mini_magick',安装并按照他们的说明进行操作。
ActiveStorage 将可以访问 API,您可以在此处找到该 API:
https://www.imagemagick.org/script/mogrify.php
在活动存储中,您可以像这样访问 API:
<%= image_tag image.variant(resize: "500x500", monochrome: true) %>
问候