La función Imagick::sparseColorImage() es una función incorporada en PHP que se utiliza para interpolar los colores en toda la imagen.
Sintaxis:
bool Imagick::sparseColorImage( int $SPARSE_METHOD, array $arguments, int $channel )
Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- $SPARSE_METHOD: Especifica un entero correspondiente a una de las constantes SPARSECOLORMETHOD . La lista de constantes SPARSECOLORMETHOD se proporciona a continuación:
- imagick::SPARSECOLORMETHOD_UNDEFINED (0)
- imagick::SPARSECOLORMETHOD_BARYCENTRIC (1)
- imagick::SPARSECOLORMETHOD_BILINEAR (7)
- imagick::SPARSECOLORMETHOD_POLYNOMIAL (8)
- imagick::SPARSECOLORMETHOD_SPEPARDS (16)
- imagick::SPARSECOLORMETHOD_VORONOI (18)
- $argumentos: Especifica las coordenadas.
- $channel (Opcional): Especifica cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes del canal utilizando operadores bit a bit. Su valor predeterminado es Imagick::CHANNEL_DEFAULT.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Los siguientes programas ilustran la función Imagick::sparseColorImage() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); $array = array(0, 0, 1, 0, 0, 1, 900, 0, 0, 1, 0, 1, 0, 1, 100, 1, 0, 70, 400, 90, 0, 0, 1, 1); // Apply the sparseColorImage() function $imagick->sparseColorImage(imagick::SPARSECOLORMETHOD_BILINEAR, $array); // Show the output 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/geeksforgeeks-13.png'); $array = array(0, 0, 1, 0, 0, 1, 78, 0, 0, 1, 0, 1, 0, 1, 10, 1, 0, 20, 400, 90, 0, 0, 1, 1); // Apply the sparseColorImage() function $imagick->sparseColorImage(imagick::SPARSECOLORMETHOD_BARYCENTRIC, $array); // Show the output header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.sparsecolorimage.php