The ImagickPixelIterator::__construct() function is an inbuilt function in PHP which is used create a instance of ImagickPixelIterator object. This object is used to iterate through the pixels.
Syntax:
bool ImagickPixelIterator::__construct( Imagick $wand )
Parameters:This function accepts a single parameter $wand which holds the image.
Return Value: This function returns TRUE on success.
Exceptions: This function throws ImagickException on error.
Below given programs illustrate the ImagickPixelIterator::__construct() 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 object $imageIterator = new ImagickPixelIterator( $imagick ); // Loop through pixel rows foreach ( $imageIterator as $row => $pixels ) { foreach ( $pixels as $column => $pixel ) { // Set the color of each pixel to blue $pixel ->setColor( 'blue' ); } // Sync the iterator after each iteration $imageIterator ->syncIterator(); } // Show the output $imagick ->setImageFormat( 'png' ); header( "Content-Type: image/png" ); echo $imagick ->getImageBlob(); ?> |
Output:
Program 2:
<?php // Create a new imagick object $imagick = new Imagick( // Create a new imagickPixelIterator object $imageIterator = new ImagickPixelIterator( $imagick ); $i = 0; // Loop through pixel rows foreach ( $imageIterator as $row => $pixels ) { foreach ( $pixels as $column => $pixel ) { $i ++; } // Sync the iterator after each iteration $imageIterator ->syncIterator(); } echo 'Total number of pixels: ' . $i ; ?> |
Output:
Total number of pixels: 122728
Reference: https://www.php.net/manual/en/imagickpixeliterator.construct.php