(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::transparentPaintImage — Paints pixels transparent
$target
, float $alpha
, float $fuzz
, bool $invert
) : boolPaints pixels matching the target color transparent. Această metodă este disponibilă dacă Imagick a fost compilat cu ImageMagick de versiunea 6.3.8 sau ulterior.
target
The target color to paint
alpha
Nivelul transparenței: 1.0 este deplin opac iar 0.0 este deplin transparent.
fuzz
Mărimea difuziei. Spre exemplu dacă stabiliți difuzia la 10, atunci culoarea roșie de intensitățile 100 și 102 respectiv sunt interpretate ca aceeași culoare.
invert
If true
paints any pixel that does not match the target color.
Întoarce true
în caz de succes.
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();
}
?>