La función Imagick::mergeImageLayers() es una función incorporada en PHP que se utiliza para fusionar capas de imágenes en una sola.
Sintaxis:
Imagick Imagick::mergeImageLayers( int $layer_method )
Parámetros: esta función acepta un solo parámetro $layer_method que contiene un valor entero correspondiente a una de las constantes LAYERMETHOD . También puede pasar las constantes directamente como mergeImageLayers(Imagick::LAYERMETHOD_COMPAREANY) .
La lista de constantes LAYERMETHOD se proporciona a continuación:
- imagick::MÉTODO DE CAPA_INDEFINIDO (0)
- imagick::MÉTODO DE CAPA_COALESCE (1)
- imagick::LAYERMETHOD_COMPAREANY (2)
- imagick::LAYERMETHOD_COMPARECLEAR (3)
- imagick::LAYERMETHOD_COMPAREOVERLAY (4)
- imagick::LAYERMETHOD_DISPOSE (5)
- imagick::MÉTODO DE CAPA_OPTIMIZAR (6)
- imagick::MÉTODO DE CAPA_OPTIMIZEPLUS (7)
- imagick::MÉTODO DE CAPA_OPTIMIZAR IMAGEN (8)
- imagick::LAYERMETHOD_OPTIMIZETRANS (9)
- imagick::LAYERMETHOD_REMOVEDUPS (10)
- imagick::MÉTODO DE CAPA_REMOVEZERO (11)
- imagick::MÉTODO DE CAPA_COMPOSITO (12)
- imagick::MÉTODO DE CAPA_MERGE (13)
- imagick::MÉTODO DE CAPA_FLATTEN (14)
- imagick::MÉTODO DE CAPA_MOSAICO (15)
Valor devuelto: esta función devuelve un objeto Imagick que contiene la nueva imagen.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función Imagick::mergeImageLayers() en PHP:
Programa 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(); ?>
Producción:
Programa 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(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.mergeimagelayers.php