函式: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()方法獲取每個畫素的顏色值。最後,我們手動釋放記憶體並銷燬物件。
請注意,這只是一個簡單的示例,實際應用中可能需要根據具體需求進行更復雜的處理。