Imagemagick 带极小标记的数字水印 版本: Ruby 2.2.3 轨道4.2.4 迷你魔法:4.2.10 Carrierwave 0.10.0 描述
我正在尝试使用CarrierWave作为上传程序为一个小画廊创建一个水印 我希望水印的大小与当前图像相比较。因此,我尝试使用具有不同不透明性和透明背景的.svg文件 我使用的是基于 并从我的上传程序中将其称为Imagemagick 带极小标记的数字水印 版本: Ruby 2.2.3 轨道4.2.4 迷你魔法:4.2.10 Carrierwave 0.10.0 描述,imagemagick,carrierwave,ruby-on-rails-4.2,minimagick,Imagemagick,Carrierwave,Ruby On Rails 4.2,Minimagick,我正在尝试使用CarrierWave作为上传程序为一个小画廊创建一个水印 我希望水印的大小与当前图像相比较。因此,我尝试使用具有不同不透明性和透明背景的.svg文件 我使用的是基于 并从我的上传程序中将其称为进程 我的问题: 我无法让水印以透明背景输入图片。我玩过: 但没有进展 我无法正确调整覆盖图像的大小。命令有很多设置,但我被卡住了 任何想法和帮助都很好。其中不包括使用.svg、透明度或调整覆盖的大小。请查看此链接:对不起,我不会说Ruby,但是。。。尝试将水印创建为PNG文件而不是
进程
我的问题:
任何想法和帮助都很好。其中不包括使用.svg、透明度或调整覆盖的大小。请查看此链接:对不起,我不会说Ruby,但是。。。尝试将水印创建为PNG文件而不是SVG,否则,请尝试更新您的
SVG
委托或将其替换为rsvg
。尝试使用较小尺寸的watermark.resize()?
require 'mini_magick'
class Watermarker
def initialize(original_path, watermark_path)
@original_path = original_path.to_s
@watermark_path = watermark_path.to_s
end
def watermark!(options = {})
options[:gravity] ||= 'SouthEast'
image = MiniMagick::Image.open(@original_path)
watermark = MiniMagick::Image.open(@watermark_path)
result = image.composite(watermark, 'png') do |c|
c.gravity options[:gravity]
end
result.write @original_path
end
end