array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'imagick.transparentpaintimage.php', 1 => 'Imagick::transparentPaintImage', ), 'up' => array ( 0 => 'class.imagick.php', 1 => 'Imagick', ), 'prev' => array ( 0 => 'imagick.transformimagecolorspace.php', 1 => 'Imagick::transformImageColorspace', ), 'next' => array ( 0 => 'imagick.transposeimage.php', 1 => 'Imagick::transposeImage', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/imagick/imagick/transparentpaintimage.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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();
}
?>