Open In App

PHP | ImagickPixelIterator setIteratorRow() function

Last Updated : 02 Jan, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

The ImagickPixelIterator::setIteratorRow() function is an inbuilt function in PHP which is used to set the pixel iterator row. This function is used to move to any row in the current image pixels.

Syntax:

bool ImagickPixelIterator::setIteratorRow( int $row )

Parameters:This function accepts a single parameter $row which holds the row number.

Return Value: This function returns TRUE on success.

Exceptions: This function throws ImagickException on error.

Below given programs illustrate the ImagickPixelIterator::setIteratorRow() function in PHP:

Program 1:




<?php
// Create a new imagick object
$imagick = new Imagick(
  
  
// Get the pixel iterator
$pixelIterator = $imagick->getPixelIterator();
  
// Set the pixel iterator to 50
$pixelIterator->setIteratorRow(50);
  
// Get the current iterator row
echo "Current row is " . $pixelIterator->getIteratorRow();
?>


Output:

Current row is 50

Program 2:




<?php
// Create a new imagick object
$imagick = new Imagick();
  
// Create a image on imagick object
$imagick->newImage(800, 250, 'black');
  
$imageIterator = $imagick->getPixelIterator();
  
$x = 0;
  
while ($x < 250) {
    // Set the iterator row
    $imageIterator->setIteratorRow($x);
  
    // Get the current row
    $pixels = $imageIterator->getCurrentIteratorRow();
      
    foreach ($pixels as $pixel) {
        if ($x % 2) {
            // Set the color of pixel
            $pixel->setColor('white');
  
        } else {
            // Set the color of pixel
            $pixel->setColor('red');
  
        }
    }
    // Sync the iterator
    $imageIterator->syncIterator();
  
    // Give a gap of 4 pixels between lines
    $x = $x + 5;
}
  
// Show the output
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>


Output:

Reference: https://www.php.net/manual/en/imagickpixeliterator.setiteratorrow.php



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads