我想使用 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)
但是我遇到了错误
要使其正常工作,您需要将命令行语法转换为 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
更改为输出路径。