[PHP] PHP 이미지에 글씨 넣기
이미지를 다루기 위하여는 GD를 Enable 시켜야 된다.
GD Enable 시키기 아래 링크 참고
생활코딩 사이트에서 공부하며 정리한 내용입니다
https://opentutorials.org/course/62/5137
◆ 이미지에 Text 글자 넣기
연결 옵션이 get 방식으로 올때 아래와 같은 url 이다.
http://localhost/image/button.php?text=coding
여기서 text 값에 있는 내용이 이미지에 들어가는 것이다.
1 2 3 4 5 6 7 8 9 10 |
<?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); ?> |
라인 2 : 컨텐츠 타입을 정의
header() 는 구문의 가장 위쪽에 위치해야 된다.
공백을 포함한 다른 값이 오면 에러가 발생한다.
여러개 다른 header 값을 넣을 수 있다.
라인 3 : 'text' 에 있는 값을 가져온다.
라인 4 : png 형식의 이미지를 가져와서 생성한다.
http://php.net/manual/kr/function.imagecreatefrompng.php
라인 5 : 생성한 이미지에 RGB 값을 칠하기 위한 정의를 해준다.
http://php.net/manual/kr/function.imagecolorallocate.php
라인 6 : x측 좌표 정보를 만드는 것이다.
imagesx()로 캔버스의 전체 x 길이를 알아온 후 (스트링 갯수 * 7.5) 로 한 후 2로 나누어
중간에 글씨가 오도록 하였다. 7.5 라는 값은 한글자의 width 라고 보면 될 것 같다.
strlen() : c와 동일하게 스트링의 길이를 가져온다.
좌측 상단이 0,0 이다.
라인 7 : $im에 폰트 크기, x좌표, y좌표, 입력할 스트링, 스트링 색 으로 스트링을 그릴 것이다.
라고 정의한다.
[bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )]
라인 8 : png 이미지를 브라우져 혹은 파일에 전달한다. 라인 2에 header 정보로 이미 png 이미지를
전달한다는 정의를 하였다.
[imagepng — Output a PNG image to either the browser or a file
http://php.net/manual/kr/function.imagepng.php]
라인 9 : 다 사용한 자원을 반환한다.
'IT > PHP Web JS CSS HTML..' 카테고리의 다른 글
[PHP] MySQL 기본 - create database , show , desc, use, create table (0) | 2016.01.21 |
---|---|
[PHP] 문자열 처리 (0) | 2016.01.21 |
[PHP] GD 라이브러리 활성화 [GD Lib 사용하기] (0) | 2016.01.21 |
[PHP] PHP 파일 업로드 / 받기 [파일 전송 / 파일 수신] (0) | 2016.01.21 |
[PHP] PHP 디렉토리 제어 (0) | 2016.01.21 |