Как инвертировать цвета изображения с помощью инструмента convert
ImageMagick, чтобы черный стал белым, а белый стал черным?
Другими словами, я хочу включить это:
в это:
Как инвертировать цвета изображения с помощью инструмента convert
ImageMagick, чтобы черный стал белым, а белый стал черным?
Другими словами, я хочу включить это:
в это:
Используйте опцию -negate
:
convert input.png -channel RGB -negate output.png
Опция -negate
заменяет каждый пиксель своим дополнительным цветом. Параметр -channel RGB
необходим в ImageMagick 7 для предотвращения отрицания альфа-канала (если имеется). (Спасибо @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 требуется параметр -channel с параметром -negate. 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/