PHP | imagickpixeliterator newPixelRegionIterator()函数
ImagickPixelIterator::newPixelRegionIterator()函数是PHP中的一个内置函数,用于从 imagick wand 的特定区域获取新的像素迭代器。
句法:
bool ImagickPixelIterator::newPixelRegionIterator( Imagick $wand,
int $x, int $y, int $columns, int $rows )
参数:此函数接受上述五个参数,如下所述:
- $wand:它指定 imagick 魔杖。
- $x:指定 x 坐标。
- $y:它指定 y 坐标。
- $columns:指定列数。
- $rows:它指定行数。
返回值:此函数在成功时返回 TRUE。
异常:此函数在出错时抛出 ImagickException。
下面的程序说明了PHP中的ImagickPixelIterator::newPixelRegionIterator()函数:
程序 1:该程序在空白图像上绘制一个正方形。
newImage(800, 250, 'black');
// Create a new ImagickPixelIterator instance
$imageIterator = new ImagickPixelIterator();
// Get the pixels from a image region
$imageIterator->newPixelRegionIterator($imagick, 40, 30, 200, 200);
// Loop through pixel rows
foreach ($imageIterator as $row => $pixels) {
foreach ($pixels as $column => $pixel) {
// Set the color of each pixel
$pixel->setColor('red');
}
// Sync the iterator after each iteration
$imageIterator->syncIterator();
}
// Show the output
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>
输出:
程序 2:该程序在 png 图像上绘制一个矩形。
newPixelRegionIterator($imagick, 40, 100, 1200, 20);
// Loop through pixel rows
foreach ($imageIterator as $row => $pixels) {
foreach ($pixels as $column => $pixel) {
// Set the color of each pixel
$pixel->setColor('#62AC45');
}
// Sync the iterator after each iteration
$imageIterator->syncIterator();
}
// Show the output
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>
输出:
参考: https://www. PHP.net/manual/en/imagickpixeliterator.newpixelregioniterator。 PHP