Ruby MiniMagick:使png部分不透明/如何使用'-评估';
我试图使用MiniMagick制作一个部分不透明的png,但我猜它真正归结起来是使用“-evaluate”的语法 这在终端中起作用:Ruby MiniMagick:使png部分不透明/如何使用'-评估';,ruby,image-processing,imagemagick,minimagick,Ruby,Image Processing,Imagemagick,Minimagick,我试图使用MiniMagick制作一个部分不透明的png,但我猜它真正归结起来是使用“-evaluate”的语法 这在终端中起作用: convert input.jpg -alpha on -channel a -evaluate set 25% output.png 但我不太明白如何将其转换为minimagick代码 这是我正在尝试的(最新排列): require 'mini_magick' img = MiniMagick::Image.open('input.jpg') img.co
convert input.jpg -alpha on -channel a -evaluate set 25% output.png
但我不太明白如何将其转换为minimagick代码
这是我正在尝试的(最新排列):
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”、“-channel”、“-a\”、“-evaluate”、“-set\”、“-25%\”]
没有错误消息,但我得到的只是一个相同的输入副本。jpg您几乎完全可以做到这一点,只是您还需要让Minimagik知道您正在使用以下方式以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')
您可能想尝试设置
mogirfy.evaluate“set 25%”
,因为逗号不符合您的想法是的,这是我开始的,但随后您会收到以下错误消息:命令(“mogrify-alpha“on”-channel“a”-evaluate“set 25%”/var/folders/wh/2k_8_pq10xj0w241f6438l_w0000gn/T/mini_magick20121122-25863-u6ysmi.jpg”)失败:{:status_code=>1,:output=>“mogrify:option需要一个参数`-evaluate'@error/mogrify.c/MogrifyImageCommand/4539。\n”}(MiniMagick::error)是否也尝试将格式设置为PNG?