在iMagick(PHP)语法中将给定颜色的所有像素转换为透明?

时间:2016-12-13 09:04:43

标签: php transparency imagick

我想通过 iMagick 将给定颜色转换为透明度。我找到了一种方法,但它的行为就像一个油漆桶,而不是检查整个图像。

对于以下示例,我正在使用它:

Rx.Observable.fromEvent(oBtnEdit.getDomRef(), "click");

This is the input image This is the output image 我希望看到的结果是所有的蓝色区域都变成了透明度。不幸的是,似乎“填充”是此功能的关键点,因此在面对非“目标”颜色时会停止。

有没有人知道如何使用 iMagick 不是命令行 imageMagick )将所有蓝色区域变为透明?

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试:

$image->transparentPaintImage($targetColor, $alphaLevel, $fuzz, false);

如果透明区域是"凌乱",它可能有助于去除:

$image->despeckleimage();

Doc:http://php.net/manual/en/imagick.transparentpaintimage.php