当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()函数:

程序1:

<?php 
  
// 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:

<?php 
  
// 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(); 
?>

输出:

参考: https://www.php.net/manual/en/imagick.mergeimagelayers.php



相关用法


注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | Imagick mergeImageLayers() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。