(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::transparentPaintImage — Paints pixels transparent
$target
,$alpha
,$fuzz
,$invert
Paints pixels matching the target color transparent. Цей метод доступний, якщо Imagick зібраний з ImageMagick версії 6.3.8 або новішою.
target
The target color to paint
alpha
Рівень прозорості: 1.0 — непрозорий і 0.0 — повністю прозорий.
fuzz
Міра уподібнення кольорів. Наприклад, якщо значення fuzz дорівнює 10, то червоний колір з насиченістю від 100 до 102 тепер вважатиметься одним кольором.
invert
If true
paints any pixel that does not match the target color.
Повертає true
в разі успіху.
Приклад #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();
}
?>