Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Imagemagick 带极小标记的数字水印 版本: Ruby 2.2.3 轨道4.2.4 迷你魔法:4.2.10 Carrierwave 0.10.0 描述_Imagemagick_Carrierwave_Ruby On Rails 4.2_Minimagick - Fatal编程技术网

Imagemagick 带极小标记的数字水印 版本: Ruby 2.2.3 轨道4.2.4 迷你魔法:4.2.10 Carrierwave 0.10.0 描述

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文件而不是

我正在尝试使用CarrierWave作为上传程序为一个小画廊创建一个水印

我希望水印的大小与当前图像相比较。因此,我尝试使用具有不同不透明性和透明背景的.svg文件

我使用的是基于

并从我的上传程序中将其称为
进程

我的问题:
  • 我无法让水印以透明背景输入图片。我玩过:

    但没有进展

  • 我无法正确调整覆盖图像的大小。命令有很多设置,但我被卡住了


  • 任何想法和帮助都很好。

    其中不包括使用.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