Php/docs/imagickpixeliterator.resetiterator

来自菜鸟教程
跳转至:导航、​搜索

ImagickPixelIterator::resetIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::resetIteratorResets the pixel iterator


说明

public ImagickPixelIterator::resetIterator ( ) : bool

Warning 本函数还未编写文档,仅有参数列表。


Resets the pixel iterator. Use it in conjunction with ImagickPixelIterator::getNextIteratorRow() to iterate over all the pixels in a pixel container.


返回值

成功时返回 true


范例

Example #1 ImagickPixelIterator::resetIterator()

<?phpfunction 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_RED, 64);             }        }        /* 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_BLUE, 64); /* 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;}?>