当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP Imagick transparentPaintImage()用法及代码示例


Imagick::transparentPaintImage()函数是PHP中的一个内置函数,可将像素绘制为透明。将与目标颜色匹配的像素绘制为透明。如果Imagick已针对ImageMagick 6.3.8或更高版本进行编译,则此方法可用。

用法:

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

参数:该函数接受上述和以下所述的四个参数:


  • $target:要绘制透明的目标颜色。
  • $alpha:透明度范围:1.0是完全不透明的,而0.0是完全透明的。
  • $fuzz:如果为TRUE,则绘制与目标颜色不匹配的任何像素。
  • $invert:图像白点。
    返回值:该函数返回真正成功。

以下示例程序旨在说明PHP中的Imagick::transparentPaintImage()函数:

例:

<?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); 
?>

输出:

参考: https://www.php.net/manual/en/imagick.transparentpaintimage.php



相关用法


注:本文由纯净天空筛选整理自VigneshKannan3大神的英文原创作品 PHP | Imagick transparentPaintImage() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。