當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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