當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。