
getImageColors 메소드는 이미지에 사용된 모든 색상을 배열로 반환합니다. 이 배열의 각 색상은 ImagickPixel 클래스의 인스턴스로 구성되어 있습니다.
ImagickPixel 클래스의 인스턴스는 RGB값을 포함하고 있습니다. RGB값은 다음과 같이 표현됩니다.
- Red : getRed() 메소드를 사용하여 가져올 수 있습니다.
- Green : getGreen() 메소드를 사용하여 가져올 수 있습니다.
- Blue : getBlue() 메소드를 사용하여 가져올 수 있습니다.
컬러 이름을 가져올 수 있는 메소드는 ImagickPixel 클래스에 없습니다. 그러나, 컬러 이름을 가져올 수 있는 라이브러리는 PHP의 GD 라이브러리나, PHP의 ColorThief 라이브러리를 사용할 수 있습니다.
예제를 들어보겠습니다.
#hostingforum.kr
php
// 이미지 가져오기
$image = new Imagick('image.jpg');
// 이미지 컬러 정보 가져오기
$colors = $image->getImageColors();
// 이미지 컬러 정보 출력하기
foreach ($colors as $color) {
echo 'RGB : (' . $color->getRed() . ', ' . $color->getGreen() . ', ' . $color->getBlue() . ')' . "n";
}
이 예제는 이미지의 컬러 정보를 가져와 RGB값을 출력합니다. 컬러 이름을 가져올 수 있는 예제는 다음과 같습니다.
#hostingforum.kr
php
// 이미지 가져오기
$image = new Imagick('image.jpg');
// 이미지 컬러 정보 가져오기
$colors = $image->getImageColors();
// 컬러 이름 가져오기
require_once 'vendor/autoload.php';
use ColorThiefColorThief;
$colorThief = new ColorThief();
$dominantColor = $colorThief->getColor($image->getImageBlob());
echo '컬러 이름 : ' . $dominantColor['hex'] . "n";
이 예제는 이미지의 컬러 정보를 가져와 컬러 이름을 출력합니다.
2025-05-28 10:14