Skip to content
컴퓨터잡담
2009.10.17 08:16

PHP로 그림에 글자 입히기

조회 수 19999 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

PHP로 그림에 글자 입히기


자신의 홈페이지가 GD를 지원 하는지 확인해야합니다.
<? phpinfo(); ?> 란 내용의 php파일을 계정에 올리고 열었을경우
GD 관련 항목이 있다면 사용하실수 있습니다.

일단 소스를 보시겠습니다
<?
$im=ImageCreateFromJPEG($file);
$color=ImageColorAllocate($im,0,0,0);
ImageTTFText($im,$size,$ang,$w,$h,$color,$font,$string);
Header("Content-type: image/jpeg");
ImageJPEG($im);
?>
(이 소스 만으로는 작동하지 않습니다.)

한줄한줄 설명 하겠습니다.

   $im=ImageCreateFromJPEG($file);
   그림을 열어서 $im에 저장합니다. $file 에는 그림파일 이름을 적어주면 됩니다.
   PNG나 GIF를 열고 싶은경우는 ImageCreateFromPNG, ImageCreateFromGIF 를
   사용합니다. GIF는 계정에 따라 안될수도 있습니다.

  $color=ImageColorAllocate($im,0,0,0);
  색깔을 정합니다. 숫자 3개는 RGB 즉 레드, 그린, 블루 값입니다.
  0,0,0은 검은색 255, 255,255 는 흰색 입니다.

  ImageTTFText($im,$size,$ang,$w,$h,$color,$font,$string);
  글자를 입히는 함수입니다.
  $size 글자 크기를 넣으세요
  $ang 글자의 각도 입니다. 몇도가 기울여서 쓸건지 정합니다. 0쓰면 가로로나옵니다.
  $w 가로 위치 입니다.
  $h 세로 위치 입니다.
  $color 위에서 정한 색깔이 들어가고
  $font 글꼴 파일의 주소입니다. 서버에 같이 올리고 절대경로나 상대경로 쓰시면 됩니다.
  $string 여기에 내용이 들어갑니다.

   Header("Content-type: image/jpeg");
   ImageJPEG($im);
   화면에 그림을 출력합니다.

   그림을 html로 부를땐 그냥 <img src="파일이름.php"> 하시면 됩니다.


   만약 한글이 깨진다면 
   iconv("EUC-KR","UTF-8","내용");
   이걸 $string  값으로 넣어주시면 될겁니다.

  천천히 따라 해보시면 쉽게 하실수 있을겁니다.

링크주소는 제홈페이지;;;[광고아님;;어쩌다보니]의 인덱스에 적용한 예입니다.
인덱스만 보시고 이런거구나 느끼신뒤에 익스플로러 끄셔도 됩니다 ㅠㅠ

아! 저는 랜덤함수, rand, 를 이용해서새로고침할때마다
매번 그림이 다르게 나오게 해서 적용해봤습니다. 총 6개 있습니다.
요청하시면 관련파일 모두 압축해서 올려드리겠습니다.

읽어주셔서 감사합니다~    예제파일 [web.zip]첨부함   
-끝-
 
댓글목록
  티다
 imagedestroy는 무슨 함수인가요?
  메트론
 고맙습니다. 아주 요긴하게 쓸께요...
  에지
 한글 입력시에는 저렇게 ImageTTFText() 함수를 써야하지만..
영문/숫자만 쓸 경우에는 그냥 ImageString()을 써주는것도 좋겠지요~ (^_^;;;)
 
 KLclub
 음..;
한글을 입력할땐 UTF-8을 지원하지 않는 폰트는 안되더군요,
묵향시리즈는 다되구요,
일부 폰트는 UTF-8을 지원하더라도 한곳에 쫙 모이더라구요,,
[어떤건 아예 에러메시지를 동반하기도;]

글구,, 끝부분에,,,
ImageJPEG($im,'',100);
이렇게 하셔야 JPG부분에선 화질이 제일 좋아지구요,,

ImageDestroy($im);
이걸 넣는게 좋습니다 : )
 
 프템장
 재미있네요. 아이디어 좋으신것 같습니다.
잘 응용하면 멋질것 같습니다. 
다만.. 개행처리는 상당히 아쉽군요. (개행처리할려면 여러번 처리해야 하나. -_-)
iconv도 확장기능이라서 추가로 설치하셔야 지원됩니다. 
phpinfo로 보시면 지원여부 아실수 있죠.

 유시형
 김규백//

테스트 페이지 가봤더니 폰트가 넘 이뿌던데...
폰트 이름이 어캐 데나여???
글고 전 따라 해봤는데 한글이 전혀 안되네여 ㅡㅡ;
영어와 숫자는 다 잘되는데...

KLclub//
폰트가 UTF-8 을 지원하는지는 어떻게 확인 할 수 있나요??


 JPstyle
 프템장//
개행처리가 뉴라인을 말하시는거라면
String 중간에 \n을 넣어주면 되네요 ^^;
 
 최이
 만약 한글이 깨진다면 
iconv("EUC-KR","UTF-8","내용"); 
위를 추가하면 에러가 뜨는데 어떻게 적용하나요!
 
김동현
 예제 소스는 없나요?
도통 무슨말인지 모르게서요...;



TAG •
로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
897 Server XE 카카오톡 글전송 2015.07.08 1237
896 컴퓨터잡담 농업경영에 이용하지 않는 농지의 처분 의무 2021.06.11 1246
895 Server WAPM에서 Database 접속 속도 개선하기 2016.03.03 1247
894 컴퓨터잡담 자주쓰는 파이썬 명령어 2021.06.05 1254
893 Server Windows APM Install(Apache 2.4, PHP 6.0, Mysql) 최신버전 설치해보기 2015.11.27 1265
892 Server CSS, JS파일, gzip으로 한꺼번에 압축해서 전송하기 2016.03.08 1280
891 Server PHP Opcache 적용 전과 후의 비교 1 2016.03.07 1334
890 컴퓨터잡담 파이썬 파일로 읽어올 때 \n이 \\n으로 변경되는 현상 대처방법 2021.08.15 1346
889 컴퓨터잡담 Python Requests post() Method 2021.08.31 1349
888 Server MySQL - 속도저하에 따른 웹페이지 접속 지연 2016.03.03 1363
887 컴퓨터잡담 [오류해결방법] 200, Stream not found, NetStream.Play.StreamNotFound, clip: '[Clip] ... 2015.11.30 1366
886 Server 아파치 모듈 mod_deflate 압축하기 1 2016.03.17 1368
885 컴퓨터잡담 파이썬 키움증권 open api 분할매매 수식구하기 2021.09.04 1370
884 Server XE 어느날 갑자기 다운로드가 되지 않을때 해결방법 file 2016.04.07 1387
883 WindowsTip Windows XP 부팅속도 개선 팁 file 2015.01.24 1424
882 Server XE 리퍼러 모듈로 트래픽 발생에 대처방법 file 2016.04.17 1426
881 컴퓨터잡담 파이썬 find, select 사용법 2021.07.30 1448
880 컴퓨터잡담 파이썬 초보자가 접하기 쉬운 오류 메시지 2 2021.06.15 1451
879 Server XE 업데이트 후 모듈업데이트가 안될때 참고 file 2015.03.13 1455
878 Server XE성능 캐시활용으로 속도 100배 개선하기(Varnish 캐시서버 + XE(+패치) + nginx(혹은 아파치) / Wincache) file 2016.03.04 1467
Board Pagination Prev 1 2 3 4 5 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소