📜  PHP | imagick的mergeImageLayers()函数

📅  最后修改于: 2022-05-13 01:56:33.973000             🧑  作者: Mango

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