PHP | imagick的mergeImageLayers()函数
Imagick::mergeImageLayers()函数是PHP中的一个内置函数,用于将图像层合并为一个。
句法:
Imagick Imagick::mergeImageLayers( int $layer_method )
参数:此函数接受单个参数$layer_method ,该参数包含一个对应于 LAYERMETHOD 常量之一的整数值。您也可以像mergeImageLayers(Imagick::LAYERMETHOD_COMPAREANY)一样直接传递常量。
LAYERMETHOD 常量列表如下:
- imagick::LAYERMETHOD_UNDEFINED (0)
- imagick::LAYERMETHOD_COALESCE (1)
- imagick::LAYERMETHOD_COMPAREANY (2)
- imagick::LAYERMETHOD_COMPARECLEAR (3)
- imagick::LAYERMETHOD_COMPAREOVERLAY (4)
- imagick::LAYERMETHOD_DISPOSE (5)
- imagick::LAYERMETHOD_OPTIMIZE (6)
- imagick::LAYERMETHOD_OPTIMIZEPLUS (7)
- imagick::LAYERMETHOD_OPTIMIZEIMAGE (8)
- imagick::LAYERMETHOD_OPTIMIZETRANS (9)
- imagick::LAYERMETHOD_REMOVEDUPS (10)
- imagick::LAYERMETHOD_REMOVEZERO (11)
- imagick::LAYERMETHOD_COMPOSITE (12)
- imagick::LAYERMETHOD_MERGE (13)
- imagick::LAYERMETHOD_FLATTEN (14)
- imagick::LAYERMETHOD_MOSAIC (15)
返回值:此函数返回一个包含新图像的 Imagick 对象。
异常:此函数在出错时抛出 ImagickException。
下面的程序说明了PHP中的Imagick::mergeImageLayers()函数:
方案一:
addImage(new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20191126190119/geeksforgeeks-copy.png'));
// Set the Opacity
$imagick->setImageOpacity(0.5);
// Merge the Layers
$result = $imagick->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
// Display the image
header("Content-Type: image/png");
echo $result->getImageBlob();
?>
输出:
方案二:
addImage(new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20191126191401/geeksforgeekshalf.png'));
// Set the Opacity
$imagick->setImageOpacity(0.7);
// Merge the Layers
$result = $imagick->mergeImageLayers(11);
// Display the image
header("Content-Type: image/png");
echo $result->getImageBlob();
?>
输出:
参考: https://www. PHP.net/manual/en/imagick.mergeimagelayers。 PHP