PHP Imagick: скопировать определенный цвет с изображения на новое изображение - PullRequest
1 голос
/ 19 ноября 2010

У меня есть изображение, и я хочу скопировать / извлечь определенный цвет (т. Е., # 00ffff) из изображения, в идеале указав коэффициент размытия, в новое изображение. Я знаю о transparentPaintImage(), но он недоступен в моей среде (Ubuntu 10.04). Есть еще идеи? Благодаря.

1 Ответ

1 голос
/ 19 ноября 2010

Ну, я просто использовал этот ответ для другого связанного вопроса, вы можете выделить определенный цвет с коэффициентом размытия и сохранить его в другом канале. В командной строке вы делаете это так:

convert original.png -matte ( +clone -fuzz 5% -transparent #00ffff ) -compose DstOut -composite yellow-channel.png

Помня, что скобки нужно экранировать в bash, \( \).

Как это можно преобразовать в последовательность команд IMagick, я не совсем уверен, так как никогда не использую это. Я знаю, что вам нужно взять исходное изображение, сделать клон, выполнить операцию прозрачности с помощью fuzz, а затем использовать compositeImage() с оператором DstOut. Я смею сказать, что это снова будет зависеть от функции paintTransparentImage(). Действительно, версии командной строки, несомненно, понадобится эта функция, скомпилированная в используемую версию ImageMagick.

...