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
相关用法
- PHP Imagick getImageCompose()用法及代码示例
- PHP Imagick getImageChannelStatistics()用法及代码示例
- PHP Imagick getImageClipMask()用法及代码示例
- PHP Imagick setImageClipMask()用法及代码示例
- PHP Imagick getImageChannelMean()用法及代码示例
- PHP Imagick getImageChannelExtrema()用法及代码示例
- PHP Imagick setImageBorderColor()用法及代码示例
- PHP Imagick setImageAlphaChannel()用法及代码示例
- PHP Imagick haldClutImage()用法及代码示例
- PHP Imagick getImageBackgroundColor()用法及代码示例
- PHP Imagick getImageChannelDistortion()用法及代码示例
- PHP Imagick setImageBluePrimary()用法及代码示例
- PHP Imagick getImageBorderColor()用法及代码示例
- PHP Imagick setImageBackgroundColor()用法及代码示例
- PHP Imagick setImageCompose()用法及代码示例
注:本文由纯净天空筛选整理自VigneshKannan3大神的英文原创作品 PHP | Imagick transparentPaintImage() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。