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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。