Ну, я просто использовал этот ответ для другого связанного вопроса, вы можете выделить определенный цвет с коэффициентом размытия и сохранить его в другом канале. В командной строке вы делаете это так:
convert original.png -matte ( +clone -fuzz 5% -transparent #00ffff ) -compose DstOut -composite yellow-channel.png
Помня, что скобки нужно экранировать в bash, \( \)
.
Как это можно преобразовать в последовательность команд IMagick, я не совсем уверен, так как никогда не использую это. Я знаю, что вам нужно взять исходное изображение, сделать клон, выполнить операцию прозрачности с помощью fuzz, а затем использовать compositeImage()
с оператором DstOut
. Я смею сказать, что это снова будет зависеть от функции paintTransparentImage()
. Действительно, версии командной строки, несомненно, понадобится эта функция, скомпилированная в используемую версию ImageMagick.