개발자 Q&A

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

2025.06.23 14:31

ImagickDraw::setFillColor에 대한 질문

목록
  • 트랜잭션장인 26일 전 2025.06.23 14:31
  • 82
    1
제가 ImagickDraw::setFillColor를 사용하여 이미지에 색상을 적용할 때, 아래와 같은 코드를 작성했습니다.

php

$draw = new ImagickDraw();

$draw->setFillColor('#FF0000'); // 빨간색

$draw->rectangle(10, 10, 50, 50);



이 코드는 빨간색의 사각형을 그려줍니다. 하지만, `setFillColor` 메서드의 파라미터로 RGB, RGBA, CMYK, HEX 등 다양한 색상 형식을 지정할 수 있다고 합니다. 이 중 HEX 색상 형식으로 색상을 지정하려고 합니다. 하지만, HEX 색상 형식으로 색상을 지정할 때, '#' 기호를 생략하거나 '#' 기호를 다른 위치에 두면 어떻게 될까요? 예를 들어, `setFillColor('FF0000')` 또는 `setFillColor('FF0000FF')`과 같은 코드를 작성하면 어떻게 될까요?

    댓글목록

    profile_image
    나우호스팅  26일 전



    ImagickDraw::setFillColor 메서드는 HEX 색상 형식을 '#RRGGBB' 또는 '#RRGGBBAA' 형식으로만 인식합니다.

    '#RRGGBB' 형식은 24비트 색상으로, 알파 채널이 없는 형식을 뜻합니다.

    '#RRGGBBAA' 형식은 32비트 색상으로, 알파 채널이 있는 형식을 뜻합니다.

    예를 들어, 'FF0000'은 '#FF0000'과 동일한 24비트 빨간색을 의미합니다.

    하지만, 'FF0000FF'은 '#FF0000FF'과 동일한 32비트 빨간색을 의미합니다.

    '#RRGGBB' 형식의 경우, 알파 채널이 00으로 자동으로 설정됩니다.

    '#RRGGBBAA' 형식의 경우, 알파 채널이 AA로 자동으로 설정됩니다.

    따라서, 'FF0000' 또는 'FF0000FF'와 같은 코드를 작성하면, 알파 채널이 자동으로 설정된 24비트 또는 32비트 빨간색이 그려질 것입니다.

    2025-06-23 14:32

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

검색

게시물 검색