📌  相关文章
📜  PHP | ImagickPixelIterator setIteratorRow()函数

📅  最后修改于: 2022-05-13 01:56:20.659000             🧑  作者: Mango

PHP | ImagickPixelIterator setIteratorRow()函数

ImagickPixelIterator::setIteratorRow()函数是PHP中的一个内置函数,用于设置像素迭代器行。该函数用于移动到当前图像像素中的任意行。

句法:

bool ImagickPixelIterator::setIteratorRow( int $row )

参数:此函数接受一个包含行号的参数$row

返回值:此函数在成功时返回 TRUE。

异常:此函数在出错时抛出 ImagickException。

下面给出的程序说明了PHP中的ImagickPixelIterator::setIteratorRow()函数

方案一:

getPixelIterator();
  
// Set the pixel iterator to 50
$pixelIterator->setIteratorRow(50);
  
// Get the current iterator row
echo "Current row is " . $pixelIterator->getIteratorRow();
?>

输出:

Current row is 50

方案二:

newImage(800, 250, 'black');
  
$imageIterator = $imagick->getPixelIterator();
  
$x = 0;
  
while ($x < 250) {
    // Set the iterator row
    $imageIterator->setIteratorRow($x);
  
    // Get the current row
    $pixels = $imageIterator->getCurrentIteratorRow();
      
    foreach ($pixels as $pixel) {
        if ($x % 2) {
            // Set the color of pixel
            $pixel->setColor('white');
  
        } else {
            // Set the color of pixel
            $pixel->setColor('red');
  
        }
    }
    // Sync the iterator
    $imageIterator->syncIterator();
  
    // Give a gap of 4 pixels between lines
    $x = $x + 5;
}
  
// Show the output
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>

输出:

参考: https://www. PHP.net/manual/en/imagickpixeliterator.setiteratorrow。 PHP