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

PHP imagesettile() 함수로 채우기용 타일 이미지 설정하기

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);
?>

입력 이미지

PHP imagesettile() 함수로 채우기용 타일 이미지 설정하기

출력 이미지

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

PHP imagesettile() 함수로 채우기용 타일 이미지 설정하기

예제 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)까지 확장되었기 때문에, 타일 패턴이 더 넓은 범위에 걸쳐 반복되어 나타납니다. 이처럼 채우기 영역의 크기를 조절하면 동일한 타일 이미지로 다양한 패턴 효과를 만들 수 있습니다.

PHP imagesettile() 함수로 채우기용 타일 이미지 설정하기