查詢

ImagickPixelIterator::getIteratorRow()函式—用法及示例

「 返回當前畫素迭代器的當前行 」


函式:ImagickPixelIterator::getIteratorRow()

適用版本:ImagickPixelIterator::getIteratorRow()函式在Imagick擴充套件版本3.3.0及以上可用。

用法:ImagickPixelIterator::getIteratorRow()方法用於返回當前畫素迭代器的當前行。

語法:

public function ImagickPixelIterator::getIteratorRow() : array

引數:此方法沒有引數。

返回值:該方法返回一個包含當前行畫素的陣列。每個畫素都表示為ImagickPixel物件。

示例:

// 建立一個Imagick物件並讀取圖片
$image = new Imagick('image.jpg');

// 建立畫素迭代器
$iterator = $image->getPixelIterator();

// 遍歷每一行畫素
foreach ($iterator as $row => $pixels) {
    // 獲取當前行的畫素陣列
    $rowPixels = $iterator->getIteratorRow();
    
    // 輸出當前行的畫素資訊
    foreach ($rowPixels as $column => $pixel) {
        echo "Pixel at row $row, column $column: ";
        echo "R: " . $pixel->getColorValue(Imagick::COLOR_RED);
        echo " G: " . $pixel->getColorValue(Imagick::COLOR_GREEN);
        echo " B: " . $pixel->getColorValue(Imagick::COLOR_BLUE);
        echo PHP_EOL;
    }
    
    // 手動釋放記憶體
    $iterator->syncIterator();
}

// 釋放記憶體
$iterator->destroy();
$image->destroy();

上述示例中,我們首先建立了一個Imagick物件並載入了一張圖片。然後,我們使用getPixelIterator()方法建立了一個畫素迭代器,然後使用foreach迴圈遍歷每一行畫素。在每一行的迴圈中,我們使用getIteratorRow()方法獲取當前行的畫素陣列,並使用ImagickPixel物件的getColorValue()方法獲取每個畫素的顏色值。最後,我們手動釋放記憶體並銷燬物件。

請注意,這只是一個簡單的示例,實際應用中可能需要根據具體需求進行更復雜的處理。

補充糾錯
熱門PHP函式
分享連結