개발자 Q&A

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

2025.03.08 09:57

imagecopymergegray 함수에 대한 질문

목록
  • Haskell연구가 12일 전 2025.03.08 09:57
  • 4
    1
제가 배운 내용을 따라 imagecopymergegray 함수를 사용하여 두 개의 이미지에 그레이를 적용하려고 하는데,
그레이를 적용하는 부분에서 이해가 가지 않습니다.

imagecopymergegray($src, $dst, $dx, $dy, $sx, $sy, $sw, $sh, $mask, $x, $y, $w, $h);
이 함수의 $mask 부분을 어떻게 사용해야 하는지 궁금합니다.

$mask는 그레이를 적용할 이미지의 부분이 될까요? 아니면 그레이를 적용하지 않을 부분이 될까요?

혹시 예를 들어서 설명해주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  12일 전



    imagecopymergegray 함수는 두 개의 이미지($src, $dst)에서 $src의 부분($sx, $sy, $sw, $sh)을 $dst의 부분($dx, $dy, $w, $h)로 복사한 후 그레이를 적용하는 함수입니다.

    $mask 변수는 그레이를 적용할 부분을 지정하는 변수입니다. $mask의 값이 0이면 그레이를 적용하지 않습니다. $mask의 값이 1이면 그레이를 적용합니다.

    예를 들어, $mask의 값이 0인 부분은 그레이를 적용하지 않으며, $mask의 값이 1인 부분은 그레이를 적용합니다.

    예제를 들어보겠습니다.

    #hostingforum.kr
    php
    
    $src = imagecreatefromjpeg('원본이미지.jpg');
    
    $dst = imagecreatefromjpeg('배경이미지.jpg');
    
    
    
    imagecopymergegray($src, $dst, 0, 0, 0, 0, imagesx($src), imagesy($src), array_fill(0, imagesx($src), array_fill(0, imagesy($src), 0)), 0, 0, imagesx($src), imagesy($src));
    
    


    위 예제에서 array_fill(0, imagesx($src), array_fill(0, imagesy($src), 0))은 $mask 변수를 지정하는 부분입니다. 이 부분은 모든 부분에 그레이를 적용하도록 지정합니다.

    2025-03-08 09:58

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

검색

게시물 검색