ImagickPixelIterator::resetIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::resetIteratorRéinitialise l'itérateur de pixel

Description

public function ImagickPixelIterator::resetIterator(): bool
Avertissement

Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

Réinitialise l'itérateur de pixel. Utiliser cette méthode avec ImagickPixelIterator::getNextIteratorRow() pour itérer sur tous les pixels d'un conteneur de pixels.

Valeurs de retour

Retourne true en cas de succès.

Exemples

Exemple #1 Exemple avec ImagickPixelIterator::resetIterator()

<?php
function resetIterator($imagePath) {

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

    $imageIterator = $imagick->getPixelIterator();

    /* On parcourt les lignes de pixels */
    foreach ($imageIterator as $pixels) {
        /* On parcourt les pixels de la ligne (colonne) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 2) {

                /* Tous les deux pixels, on ajoute 25% de rouge */
                $pixel->setColorValue(\Imagick::COLOR_RED, 64); 
            }
        }
        /* On synchronise l'itérateur, ceci est important à chaque itération */
        $imageIterator->syncIterator();
    }

    $imageIterator->resetiterator();

    /* On parcourt les lignes de pixels */
    foreach ($imageIterator as $pixels) {
        /* On parcourt les pixels de la ligne (colonne) */
        foreach ($pixels as $column => $pixel) {
            /** @var $pixel \ImagickPixel */
            if ($column % 3) {
                $pixel->setColorValue(\Imagick::COLOR_BLUE, 64); /* Tous les deux pixels, on les rend un peu plus bleu */
                //$pixel->setColor("rgba(0, 0, 128, 0)"); /* On teint tous les deux pixels en noir */
            }
        }
        $imageIterator->syncIterator(); /* On synchronise l'itérateur, ceci est important à chaque itération */
    }

    $imageIterator->clear();

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

?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top