ImagickPixelIterator::resetIterator
(PECL imagick 2, PECL imagick 3)
ImagickPixelIterator::resetIterator — Redefine o iterador de pixel
Descrição
Warning
Esta função não está documentada; apenas a lista de argumentos está disponível.
Redefine o iterador de pixel. Use-o em conjunto com ImagickPixelIterator::getNextIteratorRow() para iterar sobre todos os pixels em um contêiner de pixels.
Valor Retornado
Retorna true
em caso de sucesso.
Exemplos
Example #1 Exemplo de ImagickPixelIterator::resetIterator()
<?php
function resetIterator($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imageIterator = $imagick->getPixelIterator();
/* Itera obre linhas de pixels */
foreach ($imageIterator as $pixels) {
/* Itera sobre os pixels na linha (colunas) */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 2) {
/* Torna cada segundo pixel vermelho 25% */
$pixel->setColorValue(\Imagick::COLOR_RED, 64);
}
}
/* Sincroniza o iterador, importante fazer isso a cada iteração */
$imageIterator->syncIterator();
}
$imageIterator->resetiterator();
/* Itera obre linhas de pixels */
foreach ($imageIterator as $pixels) {
/* Itera sobre os pixels na linha (colunas) */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 3) {
$pixel->setColorValue(\Imagick::COLOR_BLUE, 64); /* Torna cada segundo pixel um pouco azul */
//$pixel->setColor("rgba(0, 0, 128, 0)"); /* Pinta cada segundo pixel de preto */
}
}
$imageIterator->syncIterator(); /* Sincroniza o iterador, importante fazer isso a cada iteração */
}
$imageIterator->clear();
header("Content-Type: image/jpg");
echo $imagick;
}
?>