La función Imagick::transparentPaintImage() es una función incorporada en PHP que pinta los píxeles de forma transparente. Pinta los píxeles que coinciden con el color de destino de forma transparente. Este método está disponible si Imagick se ha compilado con ImageMagick versión 6.3.8 o superior.
Sintaxis:
bool Imagick::transparentPaintImage ( mixed $target, float $alpha, float $fuzz, bool $invert )
Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- $objetivo: el color de destino para pintar transparente.
- $alpha: El rango de transparencia: 1.0 es completamente opaco y 0.0 es completamente transparente.
- $fuzz: si es VERDADERO, pinta cualquier píxel que no coincida con el color de destino.
- $invert: La imagen whitePoint.
- Valor de retorno: esta función devuelve True en caso de éxito.
El siguiente programa ilustra la función Imagick::transparentPaintImage() en PHP:
Ejemplo:
<?php //$source="gfg_350X350.png"; $source="https://media.geeksforgeeks.org/wp-content/uploads/20190809013546/gfg_350X350.png"; $target="transpaintimg.png"; $color="rgb(39, 194, 255)"; $alpha="0.5"; $fuzz="0.1"; $inverse="normal"; $imagick = new \Imagick(realpath($source)); //Need to be in a format that supports transparency $imagick->setimageformat('png'); $imagick->transparentPaintImage( $color, $alpha, $fuzz * \Imagick::getQuantum(), $inverse ); //Not required, but helps tidy up left over pixels $imagick->despeckleimage(); $canvas = new Imagick(); $canvas->newPseudoImage( $imagick->getImageWidth(), $imagick->getImageHeight(), "pattern:checkerboard" ); $canvas->compositeimage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0); $canvas->setImageFormat('png'); header("Content-Type: image/png"); echo $canvas->getImageBlob(); $canvas->WriteImage($target); ?>
Salida:
Referencia: https://www.php.net/manual/en/imagick.transparentpaintimage.php
Publicación traducida automáticamente
Artículo escrito por VigneshKannan3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA