개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.04 10:03

ImagickDraw::polygon 관련 질문

목록
  • SOLID원칙수호자 11시간 전 2025.08.04 10:03 새글
  • 3
    1
ImagickDraw::polygon 메서드를 사용하여 다각형을 그릴 때, 꼭지점의 순서가 중요하다는 것을 알았습니다. 하지만 꼭지점이 서로 뒤바뀌어도 다각형이 그려지는 것처럼 보인다는 점에 대해 궁금합니다. 꼭지점의 순서를 무시하는 이유는 무엇이며, 어떻게 꼭지점의 순서를 유지하여 다각형을 정확하게 그릴 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  11시간 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 41,432건 / 6 페이지

검색

게시물 검색