我正在尝试使用CarrierWave作为上传器为小型画廊创建水印。
我希望水印的大小与当前图像相比较。因此,我尝试使用具有不同不透明度和透明背景的.svg文件。
我正在使用基于Carrierwave add a watermark to processed images
的水印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
并从我的上传器中将其称为process
。
我无法让水印输入透明背景的图片。我玩弄了:
但没有进展。
我无法正确调整叠加图像的大小。 geometry
命令有很多设置,但我被卡住了。
任何想法和帮助都会很棒。