(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::transparentPaintImage — Pinta píxeles transparentes
$target,$alpha,$fuzz,$invertPinta píxeles transparente que coincidan con el color objetivo. Este método solo está disponible si Imagick ha sido compilado con ImageMagick versión 6.3.8 o superior.
targetEl color objetivo a pintar
alphaEl grado de transparencia: 1.0 corresponde a totalmente opaco y 0.0 a totalmente transparente.
fuzzLa cantidad de polvo de papel. Por ejemplo, definir el polvo de papel a 10 y el color rojo a una intensidad de 100 y 102 no será interpretado como el mismo color.
invert
Si es true pinta cualquier píxel que no coincida con el color objetivo.
Devuelve true en caso de éxito.
Ejemplo #1 Imagick::transparentPaintImage()
<?php
function transparentPaintImage($color, $alpha, $fuzz) {
$imagick = new \Imagick(realpath("images/BlueScreen.jpg"));
//Need to be in a format that supports transparency
$imagick->setimageformat('png');
$imagick->transparentPaintImage(
$color, $alpha, $fuzz * \Imagick::getQuantum(), false
);
//Not required, but helps tidy up left over pixels
$imagick->despeckleimage();
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>