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

PHP로 그림에 글자 입히기

조회 수 19996 추천 수 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
번호 분류 제목 날짜 조회 수
77 컴퓨터잡담 rss리더기 2010.03.12 9260
76 컴퓨터잡담 rss리더기 2010.03.12 29821
75 컴퓨터잡담 rss리더기 2010.03.12 9302
74 컴퓨터잡담 rss리더기 2010.03.12 9399
73 컴퓨터잡담 rss리더기 2010.03.12 9430
72 컴퓨터잡담 rss리더기 2010.03.12 9657
71 컴퓨터잡담 무서운 후킹프로세스들~ 방어방법 1 2 2010.02.20 12736
70 컴퓨터잡담 excel 2007에서 공동 작업하기 2010.02.12 24172
69 컴퓨터잡담 JavaScript XML 활용 2010.02.10 9635
68 컴퓨터잡담 HTML 엔티티(Entities) 2010.02.05 11189
67 컴퓨터잡담 HTML 엔티티(Entities) 2010.02.05 10844
66 컴퓨터잡담 자바스크립트 변수를 php로 옮기기 2010.02.03 24961
65 컴퓨터잡담 구글의 Ajax 다국어 번역 API 2010.02.01 15637
64 컴퓨터잡담 html_entity_decode [HTML엔티티를 => 특수문자로 변환 2 2010.01.30 16472
63 컴퓨터잡담 [DOS모드] ftp 자동 전송기능, 도스배치명령으로 FTP 사용하기 1 2010.01.24 20523
62 컴퓨터잡담 API Hooking 유저 레벨 루트킷 1 2010.01.21 11623
61 컴퓨터잡담 tasklist /SVC svchost 시스템 서비스 프로세스 보기 2010.01.21 8117
60 컴퓨터잡담 프로세스 숨기고 복구하기 2010.01.21 7199
59 컴퓨터잡담 SendMessage the values are for wparam 1 2009.12.23 8203
58 컴퓨터잡담 postmassge 마우스 & PixelGetColor & 2009.12.22 7945
Board Pagination Prev 1 ... 41 42 43 44 45 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소