
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