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

ImagickPixelIterator::getNextIteratorRow

PHP function Edit on GitHub ✎

(PECL imagick 2, PECL imagick 3)

Returns the next row of the pixel iterator

Description

ImagickPixelIterator::getNextIteratorRow(): array

Func

Returns the next row as an array of pixel wands from the pixel iterator.

Return Values

Returns the next row as an array of ImagickPixel objects, throwing ImagickPixelIteratorException on error.

Examples

ImagickPixelIterator::getNextIteratorRow()

php
<?php
function getNextIteratorRow($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imageIterator = $imagick->getPixelIterator();

    $count = 0;
    while ($pixels = $imageIterator->getNextIteratorRow()) {
        if (($count % 3) == 0) {
            /* Loop through the pixels in the row (columns) */
            foreach ($pixels as $column => $pixel) { 
                /** @var $pixel \ImagickPixel */
                if ($column % 2) {
                    /* 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(); 
        }

        $count += 1;
    }

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

?>

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