HomeImagickImagickDrawImagickPixelImagick Pixel IteratorImagick KernelTutorial Source codeReport an issue
Category
Example

get next iterator row

← construct   resetIterator →
Returns the next row as an array of pixel wands from the pixel iterator.
function getNextIteratorRow($image_path)
{
    $imagick = new \Imagick(realpath($image_path));
    $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/jpeg");
    echo $imagick;
}