当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP Imagick getPixelRegionIterator()用法及代码示例


Imagick::getPixelRegionIterator()函数是PHP中的内置函数,用于获取图像部分的ImagickPixelIterator。

用法:

ImagickPixelIterator Imagick::getPixelRegionIterator( int $x, int $y, int $columns, int $rows )

参数:该函数接受上述和以下所述的四个参数:


  • $x:它指定区域的x坐标。
  • $y:它指定区域的y坐标。
  • $columns:它指定区域的宽度。
  • $rows:它指定区域的高度。

返回值:此函数为图像部分返回ImagickPixelIterator。

错误/异常:此函数在错误时引发ImagickException。

以下示例程序旨在说明PHP中的Imagick::getPixelRegionIterator()函数:

示例1:

<?php 
  
// Create a new imagick object 
$imagick = new Imagick( 
'https://media.geeksforgeeks.org/wp-content/uploads/20190918234528/colorize1.png'); 
  
$imageIterator = $imagick->getPixelRegionIterator(0, 0, 330, 200); 
  
// Change the color of every second pixel of region to blue 
foreach ($imageIterator as $row => $pixels) { 
    foreach ($pixels as $column => $pixel) { 
        if ($column % 2) { 
            $pixel->setColor("blue"); 
        } 
    } 
    $imageIterator->syncIterator(); 
} 
  
// Display the output 
header("Content-Type:image/png"); 
echo $imagick; 
?>

输出:

示例2:

<?php 
  
// Create a new imagick object 
$imagick = new Imagick( 
'https://media.geeksforgeeks.org/wp-content/uploads/20190918234528/colorize1.png'); 
  
$imageIterator = $imagick->getPixelRegionIterator(330, 0, 338, 200); 
  
// Change the color of every second pixel of region to green 
foreach ($imageIterator as $row => $pixels) { 
    foreach ($pixels as $column => $pixel) { 
        if ($column % 2) { 
            $pixel->setColor("green"); 
        } 
    } 
    $imageIterator->syncIterator(); 
} 
  
// Display the output 
header("Content-Type:image/png"); 
echo $imagick; 
?>

输出:

参考: https://www.php.net/manual/en/imagick.getpixelregioniterator.php



相关用法


注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | Imagick getPixelRegionIterator() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。