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

PHP imagesetthickness() 함수로 선 그리기 두께 설정하기 – 문법과 예제 총정리

imagesetthickness() 함수는 PHP의 GD 라이브러리에 내장된 함수로, 이미지 위에 선이나 도형을 그릴 때 선의 두께를 픽셀 단위로 지정할 수 있게 해줍니다. 기본적으로 PHP에서 선을 그리면 1픽셀 두께로 표시되지만, 이 함수를 활용하면 더 굵고 눈에 띄는 선을 손쉽게 만들 수 있습니다.

문법(Syntax)

bool imagesetthickness($image, $thickness)

매개변수(Parameters)

imagesetthickness() 함수는 두 개의 매개변수를 받습니다.

  • $image − imagecreatetruecolor()와 같은 이미지 생성 함수가 반환한 이미지 리소스입니다. 작업 대상이 되는 이미지의 크기와 정보를 담고 있습니다.

  • $thickness − 설정할 선의 두께를 픽셀 단위의 정수 값으로 지정합니다.

반환 값(Return Values)

imagesetthickness() 함수는 성공 시 true를 반환하고, 실패 시 false를 반환합니다.

예제 1: 사각형 테두리 두께 설정하기

아래 예제는 파란색 배경 위에 두께 10픽셀의 흰색 사각형을 그리는 코드입니다.

<?php
    // 주어진 크기의 이미지 생성
    $img = imagecreatetruecolor(700, 300);
    $blue = imagecolorallocate($img, 0, 0, 255);
    $white = imagecolorallocate($img, 0xff, 0xff, 0xff);

    // 파란색 배경 채우기
    imagefilledrectangle($img, 0, 0, 700, 300, $blue);

    // 선 두께를 10으로 설정
    imagesetthickness($img, 10);

    // 사각형 그리기
    imagerectangle($img, 30, 30, 200, 150, $white);

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

실행 결과

위 코드를 실행하면 두께가 10픽셀인 흰색 테두리의 사각형이 파란색 배경 위에 그려집니다.

PHP imagesetthickness() 함수로 선 그리기 두께 설정하기 – 문법과 예제 총정리

예제 2: 직선 두께 설정하기

이번에는 imageline() 함수와 함께 두께 50픽셀의 굵은 직선을 그려보겠습니다.

<?php
    // imagecreatetruecolor() 함수로 주어진 크기의 이미지 생성
    $img = imagecreatetruecolor(700, 300);
    $blue = imagecolorallocate($img, 0, 0, 255);
    $white = imagecolorallocate($img, 0xff, 0xff, 0xff);

    // 파란색 배경 채우기
    imagefilledrectangle($img, 0, 0, 700, 300, $blue);

    // 선 두께를 50으로 설정
    imagesetthickness($img, 50);

    // 흰색 직선 그리기
    imageline($img, 50, 150, 650, 150, $white);

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

실행 결과

두께 50픽셀의 굵은 흰색 가로선이 파란색 배경 위에 나타납니다.

PHP imagesetthickness() 함수로 선 그리기 두께 설정하기 – 문법과 예제 총정리

정리

imagesetthickness() 함수는 한 번 호출하면 이후에 그리는 모든 선(imageline, imagerectangle 등)에 두께 설정이 적용됩니다. 따라서 다양한 두께의 선을 혼합해서 그리고 싶다면, 각 선을 그리기 전에 필요할 때마다 두께를 다시 설정해 주어야 합니다. 또한 이 함수를 사용하려면 서버에 GD 라이브러리가 설치되어 있어야 한다는 점도 기억해 두세요.