(PECL imagick 2, PECL imagick 3)
ImagickPixelIterator::resetIterator — Réinitialise l'itérateur de pixel
Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
Réinitialise l'itérateur de pixel. Utilisez cette méthode avec ImagickPixelIterator::getNextIteratorRow() pour itérer sur tous les pixels d'un conteneur de pixels.
Retourne true
en cas de succès.
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;
}
?>