
Imagick::colorFloodfillImage 함수의 세 번째 인자인 'floodfilltolerance' 파라미터는 픽셀의 색상 차이를 지정하는 데 사용됩니다. 이 파라미터의 값은 0에서 255 사이의 값을 가질 수 있으며, 0이면 동일한 색상만 채우고, 255이면 모든 색상이 채워집니다.
픽셀을 기준으로 채우는 범위를 지정하는 방법은 두 가지 방법이 있습니다.
1. 'floodfilltolerance' 파라미터를 사용하여 색상 차이를 지정합니다. 예를 들어, 'floodfilltolerance' 파라미터의 값이 10이면, 픽셀의 색상 차이가 10보다 작으면 채우지 않습니다.
2. 'floodfilltolerance' 파라미터를 0으로 설정하고, 'floodfillpaintcolor' 파라미터를 사용하여 채울 색상을 지정합니다. 예를 들어, 'floodfillpaintcolor' 파라미터의 값이 '#FFFFFF'이면, 모든 흰색 픽셀을 채웁니다.
이 함수의 결과로 채워진 픽셀의 색상이 원본 이미지의 색상과 다를 수 있는 이유는, 채우기 알고리즘의 특성 때문입니다. 채우기 알고리즘은 픽셀의 색상 차이를 계산하여 채우기 범위를 결정합니다. 이때, 계산된 색상 차이가 원본 이미지의 색상 차이와 다를 수 있습니다.
원본 이미지의 색상을 유지하는 방법은, 'floodfilltolerance' 파라미터를 0으로 설정하고, 'floodfillpaintcolor' 파라미터를 사용하여 원본 이미지의 색상을 지정하는 것입니다. 예를 들어, 'floodfillpaintcolor' 파라미터의 값이 '#FFFFFF'이면, 모든 흰색 픽셀을 채우되, 원본 이미지의 흰색 픽셀의 색상은 유지됩니다.
#hostingforum.kr
php
$imagick = new Imagick('원본이미지.png');
$imagick->colorFloodfillImage(10, 10, '#FFFFFF', 0);
$imagick->setImageColorSpace(Imagick::COLORSPACE_RGB);
$imagick->writeImage('채워진이미지.png');
2025-03-03 19:58