The ImagickPixelIterator::newPixelIterator() function is an inbuilt function in PHP which is used to get a new pixel iterator to iterate pixels of a imagick image.
Syntax:
bool ImagickPixelIterator::newPixelIterator( Imagick $wand )
Parameters: This function accepts a single parameter $wand which holds the image to iterate the pixels.
Return Value: This function returns TRUE on success.
Below programs illustrate the ImagickPixelIterator::newPixelIterator() function in PHP:
Program 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 ;
?> |
Output:
Total rows are 250
Program 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();
?> |
Output:
Reference: https://www.php.net/manual/en/imagickpixeliterator.newpixeliterator.php