La función ImagickPixelIterator::newPixelIterator() es una función incorporada en PHP que se usa para obtener un nuevo iterador de píxeles para iterar píxeles de una imagen imagick.
Sintaxis:
bool ImagickPixelIterator::newPixelIterator( Imagick $wand )
Parámetros: esta función acepta un solo parámetro $wand que contiene la imagen para iterar los píxeles.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Los siguientes programas ilustran la función ImagickPixelIterator::newPixelIterator() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'black'); // Create a new ImagickPixelIterator instance $imageIterator = new ImagickPixelIterator(); // Get the pixels from the image $imageIterator->newPixelIterator($imagick); $i = 0; // Loop through pixel rows foreach ($imageIterator as $row => $pixels) { $i++; } echo 'Total rows are ' . $i; ?>
Producción:
Total rows are 250
Programa 2:
<?php // Create a new imagick object $imagick = new Imagick(); // Create a image on imagick object $imagick->newImage(800, 250, 'black'); // Create a new ImagickPixelIterator instance $imageIterator = new ImagickPixelIterator(); // Get the pixels from the image $imageIterator->newPixelIterator($imagick); $colors = ['red', 'green', 'blue', 'yellow']; $i = 0; // Loop through pixel rows foreach ($imageIterator as $row => $pixels) { foreach ($pixels as $column => $pixel) { // Set the color of each pixel lines to colors $pixel->setColor($colors[$i % 4]); } $i++; // Sync the iterator after each iteration $imageIterator->syncIterator(); } // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagickpixeliterator.newpixeliterator.php