$color 参数可以是类似这样的字符串
"rgb(255, 255, 255)"
正如你可能猜到的,这个例子表示白色。
"rgb" 表示红-绿-蓝,数值是每个颜色的值,从 0 到 255。
黑色将是 "rgb(0, 0, 0)"。
纯红色将是 "rgb(255, 0, 0)"。
(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::transparentPaintImage — 将像素涂成透明
将与目标颜色匹配的像素涂成透明。如果 Imagick 已针对 ImageMagick 6.3.8 或更高版本编译,则此方法可用。
target
要涂色的目标颜色
alpha
透明度级别:1.0 表示完全不透明,0.0 表示完全透明。
fuzz
模糊量。例如,将 fuzz 设置为 10,强度分别为 100 和 102 的红色现在被解释为相同的颜色。
invert
如果为 true
,则会涂色任何与目标颜色不匹配的像素。
如果成功,则返回 true
。
示例 #1 Imagick::transparentPaintImage()
<?php
function transparentPaintImage($color, $alpha, $fuzz) {
$imagick = new \Imagick(realpath("images/BlueScreen.jpg"));
//需要使用支持透明度的格式
$imagick->setimageformat('png');
$imagick->transparentPaintImage(
$color, $alpha, $fuzz * \Imagick::getQuantum(), false
);
//不是必需的,但有助于清理剩余的像素
$imagick->despeckleimage();
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>
$color 参数可以是类似这样的字符串
"rgb(255, 255, 255)"
正如你可能猜到的,这个例子表示白色。
"rgb" 表示红-绿-蓝,数值是每个颜色的值,从 0 到 255。
黑色将是 "rgb(0, 0, 0)"。
纯红色将是 "rgb(255, 0, 0)"。