Open In App

PHP | ImagickPixelIterator __construct() function

Last Updated : 02 Jan, 2020
Comments
Improve
Suggest changes
Like Article
Like
Report
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
<?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
<?php
// Create a new imagick object
$imagick = new Imagick(
    'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');

// 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

Next Article

Similar Reads