(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::transparentPaintImage — Pinta píxeles transparentes
$target
,$alpha
,$fuzz
,$invert
Pinta píxeles transparente que coincidan con el color objetivo. Este método está disponible si Imagick ha sido compilado con la versión 6.3.8 o superior de ImageMagick.
target
El color objetivo a pintar
alpha
El nivel de transparencia: 1.0 es totalmente opaco y 0.0, totalmente transparente.
fuzz
La cantidad de difusión. Por ejemplo, setee fuzz a 10 y el color rojo a intensidades de 100 y 102 respectivamente son ahora interpretados 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();
}
?>