Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP imagefill() 함수 – 이미지 채우기 사용법과 예제


PHP의 imagefill() 함수는 이미지의 특정 영역을 지정한 색상으로 채우는 데 사용되는 GD 라이브러리 함수입니다. 시작 좌표를 기준으로 인접한 픽셀들의 색이 같은 범위까지 채워 나가는 방식(플러드 필, flood fill)으로 동작하기 때문에, 배경 전체를 한 가지 색으로 칠하거나 특정 영역만 선택적으로 채울 때 유용하게 활용됩니다.

문법

imagefill(img, x, y, color)

매개변수

  • img
    imagecreatetruecolor() 함수로 생성한 빈 이미지 리소스입니다.

  • x
    채우기를 시작할 지점의 x 좌표입니다.

  • y
    채우기를 시작할 지점의 y 좌표입니다.

  • color
    채우기에 사용할 색상입니다. 일반적으로 imagecolorallocate() 함수로 생성한 색상 값을 사용합니다.

반환 값

imagefill() 함수는 채우기에 성공하면 TRUE를, 실패하면 FALSE를 반환합니다.

예제

다음은 imagefill() 함수를 사용해 400x400 크기의 이미지 전체를 연한 초록색으로 채우는 예제입니다.

<?php
    $img = imagecreatetruecolor(400, 400);
    $color = imagecolorallocate($img, 190, 255, 120);
    imagefill($img, 0, 0, $color);
    header('Content-type: image/png');
    imagepng($img);
    imagedestroy($img);
?>

코드 흐름 살펴보기:

  1. imagecreatetruecolor(400, 400)으로 가로·세로 400픽셀 크기의 빈 이미지를 생성합니다.
  2. imagecolorallocate()로 RGB 값 (190, 255, 120)에 해당하는 연두색을 정의합니다.
  3. imagefill()을 호출해 좌표 (0, 0)에서 시작하여 이미지 전체를 해당 색으로 채웁니다.
  4. header()로 콘텐츠 타입을 PNG로 설정한 뒤 imagepng()로 이미지를 브라우저에 출력합니다.
  5. imagedestroy()로 서버 메모리에 남아 있는 이미지 리소스를 해제합니다.

출력 결과

위 코드를 실행하면 다음과 같이 연한 초록색으로 채워진 400x400 크기의 PNG 이미지가 화면에 출력됩니다.

PHP imagefill() 함수 – 이미지 채우기 사용법과 예제