La función Imagick::colorMatrixImage() es una función incorporada en PHP que se utiliza para aplicar la transformación de color a las imágenes. Esta función induce cambios de saturación, rotación de tono, luminancia a alfa y varios otros efectos. Esta función utiliza arrays de transformación de tamaño variable, es decir , una array de 5×5 para RGBA y una array de 6×6 para CMYKA .
Sintaxis:
bool Imagick::colorMatrixImage( array $color_matrix = Imagick::CHANNEL_DEFAULT )
Parámetros: esta función acepta el parámetro único $color_matrix que se usa para contener una array de 5 × 5 para RGBA con las filas que significan rojo, verde, azul, salida alfa, y las columnas son rojo, verde, azul, entrada alfa, mientras que la última fila y columnas para ajuste de brillo. En array de 6 × 6 para CMYKA con filas que significan cian, magenta, amarillo, clave o negro, salida alfa, y columnas que son cian, magenta, amarillo, clave o negro, entrada alfa, mientras que alfa para ajuste de brillo similar en RGBA, CMYKA también tiene la última fila y columnas para el ajuste de brillo.
Valor de retorno: esta función devuelve verdadero en caso de éxito y devuelve falso en caso de error.
El siguiente programa ilustra la función Imagick::colorMatrixImage() en PHP:
Programa:
<?php // 6x6 color matrix for CMYKA $colorMatrix = [ 1.5, 0.0, 0.0, 0.0, 0.0, -0.157, 0.0, 0.0, 0.5, 0.0, 0.0, -0.157, 0.0, 0.0, 0.0, 0.0, 0.5, -0.157, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 1.0 ]; // Create Imagick object $imagick = new \Imagick( 'https://cdncontribute.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // Set image opacity $imagick->evaluateImage( Imagick::EVALUATE_MULTIPLY, 0.6, Imagick::CHANNEL_ALPHA ); // Create new Imagick object $background = new \Imagick(); // Creating new pseudo image with hexagon pattern $background->newPseudoImage( $imagick->getImageWidth(), $imagick->getImageHeight(), "pattern:hexagons" ); // Set the image format $background->setImageFormat('png'); $imagick->setImageFormat('png'); // Use Imagick::colorMatrixImage() function $imagick->colorMatrixImage($colorMatrix); // Use Imagick::compositeImage() function $background->compositeImage( $imagick, \Imagick::COMPOSITE_SRCATOP, 0, 0 ); header("Content-Type: image/png"); // Display the output image echo $background->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.colormatriximage.php
Publicación traducida automáticamente
Artículo escrito por VigneshKannan3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA