使用 QuickMagick 删除图像中的所有灰度

问题描述 投票:0回答:1

我想使用 Ruby 中的 QuickMagick 或 RMagic 删除图像中的所有灰色。我在这里找到了这个解决方案:https://www.imagemagick.org/discourse-server/viewtopic.php?t=36051用于ImageMagick,但我不知道如何将语法正确转换为QuickMagick

convert in.jpg \( +clone -colorspace HCL -channel G -separate +channel -threshold 15% \) -alpha off -compose CopyOpacity -composite out.png

我试过了

command = "convert #{remote_image.path} +clone -colorspace HCL -channel G -separate +channel -threshold 15% -alpha off -compose CopyOpacity -composite #{outfile}"
       
QuickMagick.exec3(command)

但是我遇到了错误

ruby imagemagick imagemagick-convert rmagick
1个回答
0
投票

要使其正常工作,您需要将命令行语法转换为 QuickMagick 的基于 Ruby 的语法。

还没有测试过,所以不确定它是否有效,但希望它能让你走上正确的轨道

require 'quick_magick'

# Load the image
image = QuickMagick::Image.read(remote_image.path).first

# Clone the image and perform operations
clone = image.clone
clone.colorspace = 'HCL'
clone.channel('G').separate
clone.threshold(15)

# Composite the original and the clone
image.alpha('off')
image.compose = 'CopyOpacity'
image = image.composite(clone, 0, 0, 'CopyOpacity')

# Save the output
image.save(outfile)

确保将

remote_image.path
更改为输入图像的路径,将
output
更改为输出路径。

© www.soinside.com 2019 - 2024. All rights reserved.