PHP 8.4.2 Released!

Imagick::transparentPaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::transparentPaintImageColorise les pixels transparents

Description

public Imagick::transparentPaintImage(
    mixed $target,
    float $alpha,
    float $fuzz,
    bool $invert
): bool

Colorise les pixels correspondant à la couleur transparente. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.8 ou supérieur.

Liste de paramètres

target

La couleur cible à coloriser.

alpha

Le degré de transparence : 1.0 correspond à totalement opaque et 0.0 à totalement transparent.

fuzz

La quantité de poussière de papier. Par exemple, le fait de définir la poussière de papier à 10 et la couleur rouge à une intensité de 100 et de 102 ne sera pas interprété comme la même couleur.

invert

Si true, colorise tous les pixels qui ne correspondent pas à la couleur cible.

Valeurs de retour

Retourne true en cas de succès.

Exemples

Exemple #1 Exemple avec 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();
}

?>

add a note

User Contributed Notes 1 note

up
1
josecarlosphp
9 months ago
The $color parameter can be a string like this:

"rgb(255, 255, 255)"

As you can guess, that example represents white color.
"rgb" indicates red-green-blue, and numeric values are amounts for each, from 0 to 255.

Black color it will be "rgb(0, 0, 0)".
Full red color it will be "rgb(255, 0, 0)".
To Top