PHP | ImagickPixelIterator newPixelIterator() Function

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
Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, zambiatek Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!




