
Imagick::getPixelRegionIterator는 이미지 내의 특정 영역의 픽셀 정보를 가져올 수 있는 반복자 객체를 반환합니다. 이 반복자 객체를 사용하여 이미지의 픽셀 값을 직접 수정할 수 있습니다.
이 메소드는 이미지의 전체 픽셀 정보를 가져올 수 없습니다. 하지만, 이미지의 전체 픽셀 정보를 가져오기 위해 반복적으로 getPixelRegionIterator를 호출할 수 있습니다.
위 코드는 이미지 내의 (10, 10)부터 (50, 50)까지의 픽셀 정보를 가져올 수 있습니다. 이 코드는 다음과 같이 수정하여 픽셀 값을 수정할 수 있습니다.
#hostingforum.kr
php
$imagick = new Imagick('image.jpg');
$iterator = $imagick->getPixelRegionIterator(10, 10, 50, 50);
// 픽셀 값을 수정하는 코드
for ($y = 0; $y < $iterator->getHeight(); $y++) {
for ($x = 0; $x < $iterator->getWidth(); $x++) {
$pixel = $iterator->read();
$pixel->setColor('red');
$iterator->writeImage($pixel);
}
}
// 수정된 이미지를 저장하는 코드
$imagick->writeImage('modified_image.jpg');
이 코드는 이미지 내의 (10, 10)부터 (50, 50)까지의 픽셀 값을 모두 빨간색으로 수정합니다.
2025-07-21 15:55