imagesettile()은 PHP의 내장 함수로, 채우기 작업에 사용할 타일 이미지를 설정합니다. 이 함수는 특수 색상 IMG_COLOR_TILED로 채우기를 수행할 때 imagefill(), imagefilledpolygon() 같은 영역 채우기 함수가 참조할 이미지를 지정하는 역할을 합니다.
여기서 말하는 타일(tile)이란 특정 영역을 반복되는 패턴으로 채우기 위해 사용되는 이미지를 의미합니다. GD 라이브러리로 생성된 어떤 이미지든 타일로 활용할 수 있어, 배경 무늬나 텍스처 효과를 손쉽게 구현할 수 있습니다.
문법
bool imagesettile($image, $tile)
매개변수
imagesettile() 함수는 두 개의 매개변수를 받습니다.
$image − 타일을 적용할 대상이 되는 GD 이미지 리소스입니다.
$tile − 채우기 패턴으로 사용할 이미지 리소스를 지정하는 매개변수입니다.
반환 값
imagesettile() 함수는 성공 시 true를 반환하고, 실패 시 false를 반환합니다.
예제 1
<?php
// imagecreatefrompng() 함수로 PNG 이미지를 불러옵니다.
$image = imagecreatefrompng('C:\xampp\htdocs\Images\img27.png');
// 700x300 크기의 새 이미지를 생성합니다.
$img = imagecreatetruecolor(700, 300);
// 불러온 이미지를 타일로 설정합니다.
imagesettile($img, $image);
// IMG_COLOR_TILED 색상으로 사각형 영역을 타일 패턴으로 채웁니다.
imagefilledrectangle($img, 0, 0, 300, 199, IMG_COLOR_TILED);
// 브라우저에 PNG 이미지를 출력합니다.
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
imagedestroy($image);
?>
입력 이미지

출력 이미지
위 코드를 실행하면 지정한 좌표(0, 0)부터 (300, 199)까지의 사각형 영역이 타일 이미지가 반복된 패턴으로 채워집니다.

예제 2
<?php
// imagecreatefrompng() 함수로 PNG 이미지를 불러옵니다.
$image = imagecreatefrompng('C:\xampp\htdocs\Images\img27.png');
// 700x400 크기의 새 이미지를 생성합니다.
$img = imagecreatetruecolor(700, 400);
// 불러온 이미지를 타일로 설정합니다.
imagesettile($img, $image);
// IMG_COLOR_TILED 색상으로 더 넓은 사각형 영역을 채웁니다.
imagefilledrectangle($img, 0, 0, 390, 370, IMG_COLOR_TILED);
// 브라우저에 PNG 이미지를 출력합니다.
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
imagedestroy($image);
?>
출력
두 번째 예제에서는 채우기 영역이 (390, 370)까지 확장되었기 때문에, 타일 패턴이 더 넓은 범위에 걸쳐 반복되어 나타납니다. 이처럼 채우기 영역의 크기를 조절하면 동일한 타일 이미지로 다양한 패턴 효과를 만들 수 있습니다.
