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

PHP imagestring() 함수로 이미지에 문자열을 가로로 그리는 방법

imagestring() 함수는 PHP에 내장된 함수로, 이미지 위에 문자열을 가로 방향으로 그릴 때 사용합니다. GD 라이브러리를 통해 제공되며, 별도의 폰트 파일 없이 내장 폰트만으로 간단하게 텍스트를 출력할 수 있어 캡차 이미지, 간단한 배너 생성 등에 유용하게 활용됩니다.

문법

bool imagestring($image, $font, $x, $y, $string, $color)

매개변수

imagestring() 함수는 $image, $font, $x, $y, $string, $color 총 6개의 매개변수를 받습니다.

  • $image − 작업 대상이 되는 이미지 리소스입니다. 주로 imagecreatetruecolor() 또는 imagecreate() 함수를 사용해 지정한 크기의 빈 이미지를 생성하여 전달합니다.

  • $font − 사용할 내장 폰트의 크기를 설정합니다. 1부터 5까지의 값을 가질 수 있으며, 숫자가 클수록 글자가 커집니다.

  • $x − 문자열이 시작될 위치의 X축(가로) 좌표입니다. 이미지의 왼쪽 상단 모서리를 기준(0, 0)으로 합니다.

  • $y − 문자열이 시작될 위치의 Y축(세로) 좌표입니다. 마찬가지로 이미지의 최상단을 기준으로 합니다.

  • $string − 이미지에 그릴 실제 문자열(텍스트)입니다.

  • $color − 문자열에 적용할 색상입니다. 일반적으로 imagecolorallocate() 함수로 생성한 색상 식별자를 사용합니다.

반환 값

imagestring()은 성공 시 true, 실패 시 false를 반환합니다.

예제 1

<?php
    // imagecreate() 함수로 이미지 크기를 지정하여 빈 이미지를 생성합니다.
    $img = imagecreate(700, 300);

    // 이미지의 배경색을 설정합니다.
    $background_color = imagecolorallocate($img, 0, 0, 255);

    // 이미지의 텍스트 색상을 설정합니다.
    $text_color = imagecolorallocate($img, 255, 255, 255);

    // 문자열이 포함된 이미지를 생성하는 함수입니다.
    imagestring($img, 50, 180, 150, "Tutorialspoint", $text_color);
    imagestring($img, 30, 160, 120, "Simply Easy Learning", $text_color);
    header("Content-Type: image/png");
    imagepng($img);
    imagedestroy($img);
?>

실행 결과

PHP imagestring() 함수로 이미지에 문자열을 가로로 그리는 방법

위 예제에서는 파란색 배경 위에 흰색 텍스트 두 줄을 서로 다른 좌표와 크기로 출력했습니다. header("Content-Type: image/png")를 지정하면 브라우저에서 결과가 PNG 이미지로 바로 표시됩니다.

예제 2

<?php
    // 이미지 크기를 지정하여 빈 이미지를 생성합니다.
    $img = imagecreate(700, 300);

    // 이미지의 배경색을 설정합니다.
    $background_color = imagecolorallocate($img, 122, 122, 122);

    // 이미지의 텍스트 색상을 설정합니다.
    $text_color = imagecolorallocate($img, 255, 255, 0);

    // 문자열이 포함된 이미지를 생성하는 함수입니다.
    imagestring($img, 10, 30, 60,"Tutorialspoint:Simply Easy Learning", $text_color);
    header("Content-Type: image/png");
    imagepng($img);
    imagedestroy($img);
?>

실행 결과

PHP imagestring() 함수로 이미지에 문자열을 가로로 그리는 방법

두 번째 예제는 회색 배경 위에 노란색 텍스트를 한 줄 출력합니다. 이처럼 imagestring() 함수를 사용하면 몇 줄의 코드만으로 원하는 위치에 원하는 색상의 텍스트를 포함한 이미지를 손쉽게 만들 수 있습니다. 작업이 끝난 후에는 imagedestroy()를 호출하여 메모리를 해제하는 것이 좋습니다.