imagerotate()는 PHP의 GD 라이브러리에 내장된 함수로, 이미지를 지정한 각도(도 단위)만큼 회전시키는 데 사용됩니다. 이미지 편집 기능을 구현할 때 썸네일 회전이나 사진 방향 보정 등에 유용하게 활용할 수 있습니다.
문법(Syntax)
resource imagerotate($image, $angle, $bgd_color, $ignore_transparent = 0)
매개변수(Parameters)
imagerotate() 함수는 다음과 같이 네 개의 매개변수를 받습니다.
$image − imagecreatetruecolor() 또는 imagecreatefromjpeg() 같은 함수가 반환한 이미지 리소스입니다. 회전 대상이 되는 이미지를 지정하는 데 사용됩니다.
$angle − 회전 각도를 도(degree) 단위로 지정합니다. 이미지는 반시계 방향으로 회전되며, 예를 들어 90을 입력하면 반시계 방향으로 90도 회전합니다.
$bgd_color − 이미지를 회전하면 모서리 부분에 빈 공간이 생기는데, 이 노출된 영역을 채울 배경색을 지정합니다.
$ignore_transparent − 선택적 매개변수로, 0이 아닌 값을 설정하면 투명 색상이 무시됩니다. 기본값은 0입니다.
반환 값(Return Values)
imagerotate() 함수는 성공 시 회전된 이미지의 리소스를 반환하고, 실패하면 false를 반환합니다.
예제 1: 이미지를 90도 회전하기
<?php
// 이미지 파일 경로를 변수에 할당
$image_name = 'C:\xampp\htdocs\test\23.jpg';
// imagecreatefromjpeg() 함수로 이미지 파일 불러오기
$image = imagecreatefromjpeg($image_name);
// imagerotate() 함수로 이미지를 90도 회전
$img = imagerotate($image, 90, 0);
// 브라우저에 이미지 출력
header("Content-type: image/png");
imagepng($img);
?>
입력 이미지

출력 이미지

예제 2: 이미지를 180도 회전하기
<?php
// 이미지 파일 경로를 변수에 할당
$image_name = 'C:\xampp\htdocs\test\23.jpg';
// imagecreatefromjpeg() 함수로 이미지 파일 불러오기
$image = imagecreatefromjpeg($image_name);
// imagerotate() 함수로 이미지를 180도 회전
$img = imagerotate($image, 180, 0);
// 브라우저에 이미지 출력
header("Content-type: image/png");
imagepng($img);
?>
출력 결과

참고 사항
- imagerotate() 함수를 사용하려면 서버에 GD 라이브러리가 설치되어 있어야 합니다. phpinfo() 함수로 GD 지원 여부를 확인할 수 있습니다.
- JPEG 이미지를 불러올 때는 imagecreatefromjpeg(), PNG 이미지라면 imagecreatefrompng() 함수를 사용해야 합니다.
- 투명 배경이 있는 PNG 이미지를 회전할 경우, 세 번째 매개변수에 적절한 배경색을 지정하지 않으면 빈 영역이 검게 채워질 수 있으니 주의하세요.