php8.5
Home/ Manual/ imagick / imagickpixeliterator/ ImagickPixelIterator::setIteratorRow

ImagickPixelIterator::setIteratorRow

PHP function Edit on GitHub ✎

(PECL imagick 2, PECL imagick 3)

Set the pixel iterator row

Description

ImagickPixelIterator::setIteratorRow(int $row): bool

Func

Set the pixel iterator row.

Parameters

row

Return Values

Success

Examples

ImagickPixelIterator::setIteratorRow()

php
<?php
function setIteratorRow($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = $imagick->getPixelRegionIterator(200, 100, 200, 200);

    for ($x = 0; $x < 20; $x++) {        
        $imageIterator->setIteratorRow($x * 5);
        $pixels = $imageIterator->getCurrentIteratorRow();
        /* Loop through the pixels in the row (columns) */
        foreach ($pixels as $pixel) {
            /** @var $pixel \ImagickPixel */
            /* Paint every second pixel black*/
            $pixel->setColor("rgba(0, 0, 0, 0)"); 
        }

        /* Sync the iterator, this is important to do on each iteration */
        $imageIterator->syncIterator();
    }

    header("Content-Type: image/jpg");
    echo $imagick;
}

?>

Source: reference/imagick/imagickpixeliterator/setiteratorrow.xml · from the official PHP manual (php/doc-en)