使用 ImageMagick 反转颜色

使用 ImageMagick 反转颜色

如何使用 ImageMagickconvert工具反转图像的颜色,使黑色变成白色,白色变成黑色?

换句话说,我想将其转变为:

原来的

变成这样:

倒

答案1

使用-negate选项:

convert input.png -channel RGB -negate output.png

-negate选项将每个像素替换为其互补色。-channel RGB从 ImageMagick 7 开始,该选项是必需的,以防止 alpha 通道(如果存在)被否定。(感谢前往巴士站 为了这洞察力

另请参阅文档为了-negate

答案2

ImageMagick 6.x 只能使用 -negate 选项反转颜色强度。ref)https://www.imagemagick.org/script/command-line-options.php#negate

convert input.png -negate output.png

ImageMagick 7.x 需要带有 -negate 的 -channel 选项。ref)https://imagemagick.org/script/porting.php#cli更改的选项

convert input.png -channel RGB -negate output.png

这是因为 ImageMagick 7.x 中的默认活动通道包含透明度(不透明/alpha)

ImageMagick6: DefaultChannels = ((AllChannels | SyncChannels) &~ OpacityChannel)
ImageMagick7: DefaultChannels = AllChannels

大多数算法都会更新红色、绿色、蓝色、黑色(对于 CMYK)和 alpha 通道。为了整体一致性,似乎牺牲了 -negate 的可用性。

为您提供更多详细信息。http://blog.awm.jp/2018/11/18/im7negate/

答案3

对于 powershell(Windows 操作系统)需要使用:

magick input.png -channel RGB -negate output.png

注意。我在 imagemagick 7.1.1-18 中使用它

相关内容