
ImagickDraw::polygon 메서드는 꼭지점의 순서를 무시하는 이유는, 다각형의 내부를 채우지 않는 경우에 해당 꼭지점의 순서를 무시하기 때문입니다. 다각형의 내부를 채우는 경우에는 꼭지점의 순서가 중요합니다.
다각형의 내부를 채우지 않는 경우, ImagickDraw::polygon 메서드는 다각형의 외곽선을 그리는 데만 사용됩니다. 따라서 꼭지점의 순서를 무시할 수 있습니다.
다각형의 내부를 채우기 위해서는 ImagickDraw::pathClose 메서드를 사용하여 다각형의 외곽선을 닫아야 합니다. 이 경우, 꼭지점의 순서가 중요하여서 꼭지점의 순서를 유지하여야 합니다.
다음은 예제입니다.
#hostingforum.kr
php
$draw = new ImagickDraw();
$draw->setFillColor('red');
$draw->setStrokeColor('black');
$draw->setStrokeWidth(2);
$draw->polygon(array(10, 10, 20, 20, 30, 10));
$imagick = new Imagick();
$imagick->newImage(40, 40, 'white');
$imagick->drawImage($draw);
$imagick->setImageFormat('png');
$imagick->writeImage('image1.png');
$draw->setFillColor('red');
$draw->setStrokeColor('black');
$draw->setStrokeWidth(2);
$draw->polygon(array(10, 10, 20, 20, 30, 10));
$draw->pathClose();
$imagick = new Imagick();
$imagick->newImage(40, 40, 'white');
$imagick->drawImage($draw);
$imagick->setImageFormat('png');
$imagick->writeImage('image2.png');
이 예제에서는 두 개의 다각형을 그립니다. 첫 번째 다각형은 외곽선을 그리는 데만 사용되므로 꼭지점의 순서를 무시할 수 있습니다. 두 번째 다각형은 외곽선을 닫아내서 내부를 채우기 때문에 꼭지점의 순서가 중요합니다.
2025-08-04 10:04