回答:
-negate
オプションを使用します。
convert input.png -channel RGB -negate output.png
この-negate
オプションは、各ピクセルを補色で置き換えます。-channel RGB
ImageMagick 7以降、アルファチャネル(存在する場合)が無効にされないようにするためのオプションが必要です。(この洞察を@yoyaに感謝します!)
参照してくださいドキュメントのために-negate
。
-channel RGB -negate
を避けるために使用します。
-channel RGB
必要ありません。通過し-channel RGBA -negate
た場合にのみアルファチャネルを反転します。異なる動作を説明するものがわかりません。
identify
、入力を「8ビットsRGB」と見なしている一方で、出力は「8ビットグレースケールグレー」です。
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の使いやすさは、全体的な一貫性のために犠牲にされているようです。
あなたのための詳細。http://blog.awm.jp/2018/11/18/im7negate/
convert input.png -negate output.png
ImageMagick 7.0.8(ArchLinux)で
identify -verbose input.png | grep Type
TrueColorまたはTrueColorAlphaを出力します。
-channel RGB
、答えに追加しました。