PHP 8.4.1 Released!

Imagick::transparentPaintImage

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

Imagick::transparentPaintImagePaints pixels transparent

Beschreibung

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

Paints pixels matching the target color transparent. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.3.8 oder höher kompiliert wurde.

Parameter-Liste

target

The target color to paint

alpha

Die Stufe der Transparenz. 1.0 ist völlig undurchsichtig und 0.0 ist komplett transparent.

fuzz

Die Menge an Ungenauigkeit. Wird dieser Wert z. B. auf 10 gesetzt, so wird die Farbe Rot bei Intensitäten von 100 und 102 als identisch betrachtet.

invert

If true paints any pixel that does not match the target color.

Rückgabewerte

Liefert true bei Erfolg.

Beispiele

Beispiel #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();
}

?>

add a note

User Contributed Notes 1 note

up
1
josecarlosphp
8 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