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

PHP에서 GD 이미지에 감마 보정을 적용하는 방법 – imagegammacorrect() 함수 완벽 정리

imagegammacorrect()는 PHP에 기본으로 내장되어 있는 함수로, 지정한 Graphics Draw(GD) 이미지에 감마(gamma) 보정을 적용할 때 사용합니다. 감마 보정은 이미지의 밝기와 명암 대비를 조절하는 기술로, 화면마다 다르게 표현되는 색감을 일관성 있게 맞추고자 할 때 유용하게 활용됩니다.

문법(Syntax)

bool imagegammacorrect(resource $image, float $inputgamma, float $outputgamma)

매개변수(Parameters)

imagegammacorrect() 함수는 총 세 개의 매개변수를 받습니다: $image, $inputgamma, $outputgamma.

  • $image − 감마 보정을 적용할 대상 이미지 리소스를 지정합니다.

  • $inputgamma − 원본 이미지의 입력 감마 값을 지정합니다.

  • $outputgamma − 변환 후 적용될 출력 감마 값을 지정합니다.

반환 값(Return Values)

함수 실행이 성공하면 true를 반환하고, 실패하면 false를 반환합니다.

예제 1

<?php
   // 로컬 드라이브 폴더에서 이미지 불러오기
   $img = imagecreatefrompng('C:\xampp\htdocs\Images\img58.png');

   // imagegammacorrect() 함수로 이미지 감마 변경
   imagegammacorrect($img, 15, 1.5);

   // 브라우저로 이미지 출력
   header('Content-Type: image/png');
   imagepng($img);
   imagedestroy($img);
?>

실행 결과

imagegammacorrect() 함수 적용 전의 원본 이미지

PHP에서 GD 이미지에 감마 보정을 적용하는 방법 – imagegammacorrect() 함수 완벽 정리

imagegammacorrect() 함수 적용 후의 결과 이미지

PHP에서 GD 이미지에 감마 보정을 적용하는 방법 – imagegammacorrect() 함수 완벽 정리

코드 설명

위 예제에서는 먼저 imagecreatefrompng() 함수를 사용해 로컬 드라이브의 폴더에서 PNG 이미지를 불러왔습니다. 필요하다면 로컬 경로 대신 이미지 URL을 사용하는 것도 가능합니다. 이후 imagegammacorrect() 함수에 입력 감마 값과 출력 감마 값을 전달하여 감마 보정을 적용했습니다. 마지막으로 헤더를 통해 콘텐츠 타입을 image/png로 지정하고, 처리된 이미지를 브라우저에 출력한 뒤 imagedestroy()로 메모리상의 이미지 리소스를 해제했습니다.

적용 전후의 두 이미지를 비교해 보면, 감마 값 변화에 따라 이미지의 밝기와 명암이 어떻게 달라지는지 확인할 수 있습니다. 참고로 감마 값은 일반적으로 1.0을 기준으로 하며, 1.0보다 작으면 어두워지고 크면 밝아지는 경향이 있습니다. 상황에 맞는 적절한 감마 값을 찾기 위해 여러 값을 시험해 보며 조정하는 것이 좋습니다.