La función Imagick::importImagePixels() es una función incorporada en PHP que se usa para importar píxeles de una array a una imagen.
Sintaxis:
bool Imagick::importImagePixels( int $x, int $y, int $width, int $height, string $map, int $storage, array $pixels )
Parámetros: esta función acepta siete parámetros, como se mencionó anteriormente y se describe a continuación:
- $x: Especifica la posición x de la imagen.
- $y: Especifica la posición y de la imagen.
- $ancho: Especifica el ancho de la imagen.
- $height: Especifica la altura de la imagen.
- $mapa: especifica el mapa de ordenación de píxeles como una string.
- $almacenamiento: especifica el método de almacenamiento de píxeles, que es un valor entero correspondiente a una constante PIXEL.
- $pixels: Especifica la array de píxeles.
La lista de constantes PIXEL se proporciona a continuación:
- imagick::PIXEL_CHAR (0)
- imagick::PIXEL_DOUBLE (1)
- imagick::PIXEL_FLOAT (2)
- imagen::PIXEL_INTEGER (3)
- imagick::PIXEL_LARGO (4)
- imagick::PIXEL_QUANTUM (5)
- imagick::PIXEL_SHORT (6)
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::importImagePixels() en PHP:
Programa 1:
<?php // Create a new Imagick object $imagick = new Imagick(); // Generate array of pixels $pixels = array_merge(array_pad(array(), 15000, 0), array_pad(array(), 15000, 255)); $imagick->newImage(100, 100, 'white'); // Import the pixels into image. $imagick->importImagePixels(0, 0, 100, 100, "RGB", imagick::PIXEL_FLOAT, $pixels); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick; ?>
Producción:
Programa 2:
<?php // Create a new Imagick object $imagick = new Imagick(); // Generate array of pixels $pixels = array_merge(array_pad(array(), 5000, 0), array_pad(array(), 5000, 255), array_pad(array(), 5000, 0), array_pad(array(), 5000, 255), array_pad(array(), 5000, 0), array_pad(array(), 5000, 255)); $imagick->newImage(100, 100, 'white'); // Import the pixels into image. $imagick->importImagePixels(0, 0, 100, 100, "RGB", imagick::PIXEL_FLOAT, $pixels); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick; ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.importimagepixels.php