(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::transparentPaintImage — Рисует пиксели прозрачными
$target
,$alpha
,$fuzz
,$invert
Рисует пиксели, соответствующие целевому цвету, прозрачным. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.8 или старше.
target
Целевой цвет для рисования
alpha
Уровень прозрачности: 1.0 полностью непрозрачный, тогда как 0.0 полностью прозрачен.
fuzz
Мера округления (fuzz). Для примера, установите значение fuzz в 10 и красный цвет с интенсивностью 100 и 102 будет интерпретироваться как один и тот же цвет.
invert
Если true
, закрашивает любой пиксель, который не соответствует целевому цвету.
В случае успешной работы возвращает true
.
Пример #1 Пример использования Imagick::transparentPaintImage()
<?php
function transparentPaintImage($color, $alpha, $fuzz) {
$imagick = new \Imagick(realpath("images/BlueScreen.jpg"));
//Должен быть в формате, который поддерживает прозрачность
$imagick->setimageformat('png');
$imagick->transparentPaintImage(
$color, $alpha, $fuzz * \Imagick::getQuantum(), false
);
//Не требуется, но помогает убирать оставленные пиксели
$imagick->despeckleimage();
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>