MiniMagick:使png部分不透明/如何使用'-evaluate'



我正在尝试使用MiniMagick制作一个部分不透明的png,但我想它真正归结为使用"-evaluate"的语法

这在终端中有效:

convert input.jpg -alpha on -channel a -evaluate set 25% output.png 

但我不太明白如何将其转换为迷你魔术代码

这是我正在尝试的(最新排列):

require 'mini_magick'
img = MiniMagick::Image.open('input.jpg')
img.combine_options do |mogrify|
    mogrify.alpha 'on'
    mogrify.channel 'a'
    mogrify.evaluate 'set', '25%'
    puts mogrify.inspect
end
img.write('output.png')

inspect输出显示@args @args=["-alpha", ""on"", "-channel", ""a"", "-evaluate", ""set"", ""25%""]

没有错误消息,但我得到的只是相同的输入副本.jpg

你几乎一路走来,除了你还需要让minimagick知道你正在使用以下方法以PNG格式输出:

    img.format('png')

试试这个:

    require 'mini_magick'
    img = MiniMagick::Image.open('input.jpg')
    img.format('png')
    img.combine_options do |mogrify|
        mogrify.alpha 'on'
        mogrify.channel 'a'
        mogrify.evaluate 'set', '25%'
    end
    img.write('output.png')

最新更新