La función Imagick::remapImage() es una función incorporada en PHP que se usa para reemplazar colores en una imagen con los definidos por reemplazo. Los colores se reemplazan con el color más cercano posible.
Sintaxis:
bool Imagick::remapImage( Imagick $replacement, int $dither )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $reemplazo: especifica un objeto Imagick que contiene los colores de reemplazo.
- $dither: Especifica un valor entero correspondiente a una de las constantes DITHERMETHOD . También puede pasar una constante directamente como remapImage($replacement, imagick::DITHERMETHOD_RIEMERSMA); .
La lista de todas las constantes DITHERMETHOD se proporciona a continuación:
- imagick::DITHERMETHOD_UNDEFINED (0)
- imagick::DITHERMETHOD_NO (1)
- imagick::DITHERMETHOD_RIEMERSMA (2)
- imagick::DITHERMETHOD_FLOYDSTEINBERG (3)
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función Imagick::remapImage() en PHP:
Programa 1:
<?php // Create a new Imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // Create another Imagick object $replacement = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/20191130231936/areplace.png'); // Remap the image $imagick->remapImage($replacement, imagick::DITHERMETHOD_RIEMERSMA); // Display the image header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Programa 2:
<?php // Create a new Imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/20190918234528/colorize1.png'); // Create another Imagick object $replacement = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/20191130231936/areplace.png'); // Remap the image $imagick->remapImage($replacement, imagick::DITHERMETHOD_FLOYDSTEINBERG); // Display the image header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.remapimage.php