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
번호 분류 제목 날짜 조회 수
177 컴퓨터잡담 Windows XP 인증방법 개선으로 업데이트 기능 정상 사용하기 2010.11.03 6590
176 컴퓨터잡담 서비스팩3 설치 후 Client Session manager 문제, SM00905 오류 해결방법 1 2 2010.11.01 14407
175 컴퓨터잡담 북마크 링크 주소모음 2010.10.30 102936
174 컴퓨터잡담 레지스트리 팁 - 로그오프하지 않고 반영하기 2010.10.25 5297
173 컴퓨터잡담 Autohotkey 파일 저장시 한글 깨짐 현상 2010.10.11 11170
172 컴퓨터잡담 javascript만으로 폼전송 2010.10.11 13313
171 컴퓨터잡담 [javascript_tip]자바스크립트 값 넘기기 2 1 2010.10.10 18961
170 컴퓨터잡담 자바스크립트로 전송(submit) 버튼 누르기 3 2010.10.10 103644
169 컴퓨터잡담 [엑셀] SUMPRODUCT 함수 이용, 조건에 따른 중복항목 제외 후 카운트하는 함수 3 2010.10.09 14579
168 컴퓨터잡담 [엑셀] 와일드카드 문자의 변환처리 방법 1 2 2010.10.04 10960
167 컴퓨터잡담 레지스트리 컨트롤로 XP의 가상메모리 페이징 파일의 강제 자동설정을 끌 수 있는 방법 2010.10.02 9075
166 컴퓨터잡담 램디스크 숨기는 방법 2 2010.10.02 5670
165 컴퓨터잡담 autohotkey 변수의 이해 2010.10.02 20631
164 컴퓨터잡담 인터넷익스플로러 로딩속도 빠르게 하는방법 1 2 2010.10.01 12097
163 컴퓨터잡담 -응답없음- 으로 멈춰버린 프로그램 대기시간 줄이는 방법 2010.10.01 7843
162 컴퓨터잡담 스누피 고스트 file 2010.10.01 6031
161 컴퓨터잡담 그림안에 투명텍스트박스 넣기. 2 2010.09.29 9564
160 컴퓨터잡담 PHP Text to Image 1 2010.09.29 13950
159 컴퓨터잡담 오류 socket error #10061 connection 3 2 2010.09.25 54071
158 컴퓨터잡담 엑셀에서 날짜와 시간 계산하는 법 2 2010.09.20 31664
Board Pagination Prev 1 ... 36 37 38 39 40 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소