-negate
オプションを使用してください。
convert input.png -channel RGB -negate output.png
-negate
オプションは各ピクセルを補色で置き換えます。 ImageMagick 7以降では、アルファチャンネル(存在する場合)が無効にならないようにするために-channel RGB
オプションが必要です。 (この洞察をありがとう、@ yoya!)
-negate
については ドキュメント もご覧ください。
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では、デフォルトのアクティブチャンネルに透明度(不透明/アルファ)が含まれているためです。
ImageMagick6: DefaultChannels = ((AllChannels | SyncChannels) &~ OpacityChannel)
ImageMagick7: DefaultChannels = AllChannels
ほとんどのアルゴリズムは、赤、緑、青、黒(CMYKの場合)、およびアルファチャンネルを更新します。 -negateのユーザビリティは全体的な一貫性のために犠牲にされるようです。