CakeFest 2024: The Official CakePHP Conference

ImagickPixelIterator::resetIterator

(PECL imagick 2, PECL imagick 3)

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

Description

public 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. Utilisez 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