(PECL imagick 2, PECL imagick 3)
ImagickPixelIterator::resetIterator — pixel iterator をリセットする
この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
pixel iterator をリセットします。 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) {
/* 1つおきのピクセルを25%赤くします*/
$pixel->setColorValue(\Imagick::COLOR_RED, 64);
}
}
/* イテレータを同期します。各イテレーションで行うことが重要です */
$imageIterator->syncIterator();
}
$imageIterator->resetiterator();
/* ピクセルの行をループします */
foreach ($imageIterator as $pixels) {
/* 行内のピクセル(列)をループします */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 3) {
$pixel->setColorValue(\Imagick::COLOR_BLUE, 64); /* 1つおきのピクセルを少し青くします*/
//$pixel->setColor("rgba(0, 0, 128, 0)"); /* 1つおきのピクセルを黒く塗ります*/
}
}
$imageIterator->syncIterator(); /* イテレータを同期します。各イテレーションで行うことが重要です */
}
$imageIterator->clear();
header("Content-Type: image/jpg");
echo $imagick;
}
?>