본문 바로가기
PHP

[PHP] 이미지 다루기

by 헤이봄봄 2022. 6. 16.

PHP는 내부적으로 이미지를 처리하는 기능은 포함되어있지않기때문에, 

외부프로그램 혹은 외부 라이브러리으 힘을 빌려야하는데 그중 가장 많이 사용되는것이 

GD 라이브러리이다.

 

GD가 깔려있는지 확인하기위해선

phpinfo() 를 실행시켰을때 

다음과같이 나오면 GD를 사용할 수 있는 것

JPEG, PNG Support 부분에 enabled 이라고 되어있으면 사용가능

 

만약 dg가 없다면,

php.ini 파일을 열고 gd 검색 후, extension 되어있는 부분을 해제한다

extension_dir   

gd같은 확장기능들이 존재하는 디렉토리의 경로도 확인하도록 하자 

(운영체제마다 gd 라이브러리 설치하는 과정이 다를 수 있다)

 

 

이미지에 글쓰기 

<?php
    header("Content-type: image/png");
    $string = $_GET['text'];
    $im     = imagecreatefrompng("button.png");   #이미지의 식별자를 지정해줌
    $orange = imagecolorallocate($im, 60, 87, 156);  #색깔에 대한 식별자
    $px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
    imagestring($im, 4, $px, 9, $string, $orange);
    imagepng($im);
    imagedestroy($im);
?>

header()

서버가 클라이언트로 전송하는 header안에 포함시킬 내용

제일 윗줄에 위치해야함 ( 공백도 안됨 ! 주의 )

 

$_GET

브라우저에 입력된 url상의 입력된 값이 담겨지도록 약속되어있음 

 

imagecreatefrompng(파일이름)

png형식의 이미지를 불러옴

 

imagecolorallocate(이미지에 대한 식별자,R,G,B)

 

$px 

imagesx(이미지)

이미지의 폭

strlen(글자)

문자의 길이

 

imagestring(글씨를 담기위한 캔버스, 폰트스타일, X축, Y축, 입력하고자하는 내용, 색깔)

imagepng(이미지)

png라고하는 파일을 전송

imagedestroy(이미지)

지금까지 사용했던 이미지에 대한 자원을 삭제

 

 

'PHP' 카테고리의 다른 글

[PHP] PHP와 데이터베이스 MYSQL확장  (0) 2022.06.16
[PHP] 문자열 다루기  (0) 2022.06.16
[PHP] 파일 업로드  (0) 2022.06.16
[PHP] 디렉토리 제어  (0) 2022.06.15
[PHP] 파일 제어  (0) 2022.06.15

댓글