ImageMagick ImagickPixelIterator::resetIterator
(PECL imagick 2, PECL imagick 3)
ImagickPixelIterator::resetIterator — 픽셀 반복기를 재설정합니다.
설명
public ImagickPixelIterator::resetIterator(): bool
경고 이 함수는 현재 문서화되어 있지 않습니다. 해당 인수 목록만 사용할 수 있습니다.
픽셀 반복기를 재설정합니다. ImagickPixelIterator::getNextIteratorRow()와 함께 사용하여 픽셀 컨테이너의 모든 픽셀을 반복합니다.
반환 값
성공하면 true
를 반환합니다.
Examples
예제 #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_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;
}
?>