ImagickPixelIterator
PHP Manual

ImagickPixelIterator::resetIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::resetIteratorpixel iterator をリセットする

説明

bool ImagickPixelIterator::resetIterator ( void )
警告

この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。

pixel iterator をリセットします。 ImagickPixelIterator::getNextIteratorRow() と組み合わせて使用し、 ピクセルコンテナのすべてのピクセルを順にたどります。

返り値

成功した場合に TRUE を返します。

例1 ImagickPixelIterator::resetIterator()

<?php
function resetIterator($imagePath) {

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

    
$imageIterator $imagick->getPixelIterator();

    
/* Loop trough pixel rows */
    
foreach ($imageIterator as $pixels) {
        
/* Loop through the pixels in the row (columns) */
        
foreach ($pixels as $column => $pixel) {
            
/** @var $pixel \ImagickPixel */
            
if ($column 2) {

                
/* Make every second pixel 25% red*/
                
$pixel->setColorValue(\Imagick::COLOR_RED64); 
            }
        }
        
/* Sync the iterator, this is important to do on each iteration */
        
$imageIterator->syncIterator();
    }

    
$imageIterator->resetiterator();

    
/* Loop trough pixel rows */
    
foreach ($imageIterator as $pixels) {
        
/* Loop through the pixels in the row (columns) */
        
foreach ($pixels as $column => $pixel) {
            
/** @var $pixel \ImagickPixel */
            
if ($column 3) {
                
$pixel->setColorValue(\Imagick::COLOR_BLUE64); /* Make every second pixel a little blue*/
                //$pixel->setColor("rgba(0, 0, 128, 0)"); /* Paint every second pixel black*/
            
}
        }
        
$imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
    
}

    
$imageIterator->clear();

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

?>


ImagickPixelIterator
PHP Manual