ImagickPixelIterator::resetIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::resetIteratorСбрасывает итератор пикселей

Описание

public ImagickPixelIterator::resetIterator ( ) : bool
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Сбрасывает итератор пикселей. Используйте совместно с ImagickPixelIterator::getNextIteratorRow() для перебора всех пикселей в контейнере пикселей.

Возвращаемые значения

В случае успешной работы возвращает true.

Примеры

Пример #1 ImagickPixelIterator::resetIterator()

<?php
function resetIterator($imagePath) {

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

    
$imageIterator $imagick->getPixelIterator();

    
/* Походим по строкам пикселей */
    
foreach ($imageIterator as $pixels) {
        
/* Походим по пикселям в строке (столбцы) */
        
foreach ($pixels as $column => $pixel) {
            
/** @var $pixel \ImagickPixel */
            
if ($column 2) {

                
/* Делаем каждый второй пиксель на 25% красным*/
                
$pixel->setColorValue(\Imagick::COLOR_RED64); 
            }
        }
        
/* Синхронизируем итератор. Это необходимо для делать на каждой итерации */
        
$imageIterator->syncIterator();
    }

    
$imageIterator->resetiterator();

    
/* Походим по строкам пикселей */
    
foreach ($imageIterator as $pixels) {
        
/* Походим по пикселям в строке (столбцы) */
        
foreach ($pixels as $column => $pixel) {
            
/** @var $pixel \ImagickPixel */
            
if ($column 3) {
                
$pixel->setColorValue(\Imagick::COLOR_BLUE64); /* Делаем каждый второй пиксель немного синим*/
                //$pixel->setColor("rgba(0, 0, 128, 0)"); /* Paint every second pixel black*/
            
}
        }
        
$imageIterator->syncIterator(); /* Синхронизируем итератор. Это необходимо для делать на каждой итерации */
    
}

    
$imageIterator->clear();

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

?>