ImagickPixelIterator::resetIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::resetIteratorReinicia el iterador de píxeles

Descripción

public function ImagickPixelIterator::resetIterator(): bool
Advertencia

Esta función está actualmente no documentada; solo la lista de sus argumentos está disponible.

Reinicia el iterador de píxeles. Utilice este método con ImagickPixelIterator::getNextIteratorRow() para iterar sobre todos los píxeles de un contenedor de píxeles.

Valores devueltos

Devuelve true en caso de éxito.

Ejemplos

Ejemplo #1 Ejemplo con ImagickPixelIterator::resetIterator()

<?php
function resetIterator($imagePath) {

    $imagick = new \Imagick(realpath($imagePath));

    $imageIterator = $imagick->getPixelIterator();

    /* Se recorren las líneas de píxeles */
    foreach ($imageIterator as $pixels) {
        /* Se recorren los píxeles de la línea (columna) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {

                /* Cada dos píxeles, se añade un 25% de rojo */
                $pixel->setColorValue(\Imagick::COLOR_RED, 64);
            }
        }
        /* Se sincroniza el iterador, esto es importante en cada iteración */
        $imageIterator->syncIterator();
    }

    $imageIterator->resetiterator();

    /* Se recorren las líneas de píxeles */
    foreach ($imageIterator as $pixels) {
        /* Se recorren los píxeles de la línea (columna) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 3) {
                $pixel->setColorValue(\Imagick::COLOR_BLUE, 64); /* Cada dos píxeles, se los hace un poco más azules */
                //$pixel->setColor("rgba(0, 0, 128, 0)"); /* Se tiñen todos los dos píxeles en negro */
            }
        }
        $imageIterator->syncIterator(); /* Se sincroniza el iterador, esto es importante en cada iteración */
    }

    $imageIterator->clear();

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

?>