(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::transparentPaintImage — Paints pixels transparent
$target,$alpha,$fuzz,$invertPaints pixels matching the target color transparent. This method is available if Imagick has been compiled against ImageMagick version 6.3.8 or newer.
targetThe target color to paint
alphaThe level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.
fuzzThe amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color.
invert
If true paints any pixel that does not match the target color.
Returns true on success.
Example #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();
}
?>