
	                	                 
ImagickPixelIterator::newPixelIterator() 메소드는 이미지의 픽셀을 반복처리할 수 있는 반복자를 반환하는 메소드입니다. 
이 메소드를 사용하여 이미지의 픽셀을 반복처리할 때, 반복은 이미지의 왼쪽 위부터 오른쪽 아래까지 순서로 처리됩니다. 
이 메소드를 사용하여 이미지의 픽셀을 처리하도록 픽셀의 값을 가져오고 설정하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$imagick = new Imagick('image.jpg');
$iterator = $imagick->getPixelIterator();
foreach ($imagick->getPixelIterator() as $row) {
    foreach ($row as $pixel) {
        $x = $pixel->getX();
        $y = $pixel->getY();
        $color = $pixel->getColor();
        $red = $pixel->getColorComponentRGB('red');
        $green = $pixel->getColorComponentRGB('green');
        $blue = $pixel->getColorComponentRGB('blue');
        $alpha = $pixel->getColorComponentAlpha();
        // 픽셀의 값을 가져오고 설정하는 방법
        $imagick->setPixelColor($x, $y, new ImagickPixel('rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')'));
    }
}
이미지의 픽셀을 반복처리할 수 있는 다른 방법은 Imagick::queryFontMetrics() 메소드를 사용하는 것입니다.
이 메소드는 이미지의 픽셀을 반복처리할 수 있는 반복자를 반환하는 메소드입니다.
이 메소드를 사용하여 이미지의 픽셀을 반복처리할 때, 반복은 이미지의 왼쪽 위부터 오른쪽 아래까지 순서로 처리됩니다.
이 메소드를 사용하여 이미지의 픽셀을 처리하도록 픽셀의 값을 가져오고 설정하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$imagick = new Imagick('image.jpg');
$iterator = $imagick->queryFontMetrics();
foreach ($imagick->queryFontMetrics() as $row) {
    foreach ($row as $pixel) {
        $x = $pixel->getX();
        $y = $pixel->getY();
        $color = $pixel->getColor();
        $red = $pixel->getColorComponentRGB('red');
        $green = $pixel->getColorComponentRGB('green');
        $blue = $pixel->getColorComponentRGB('blue');
        $alpha = $pixel->getColorComponentAlpha();
        // 픽셀의 값을 가져오고 설정하는 방법
        $imagick->setPixelColor($x, $y, new ImagickPixel('rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')'));
    }
}
이 메소드는 ImagickPixelIterator::newPixelIterator() 메소드와 동일하게 동작합니다.
2025-04-12 20:42