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()函数:
程序1:
// Create a new Imagick object
$imagick = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20190918234528/colorize1.png');
// Add another image in the same object
$imagick->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();
?>
输出:
程序2:
// Create a new Imagick object
$imagick = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/20190918234528/colorize1.png');
// Add another image in the same object
$imagick->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();
?>
输出: