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 •
로그인 후 댓글쓰기가 가능합니다.

?

  1. php로 이미지를 mysql디비 저장하고 보여주는 소스

  2. [PHP] 원격지의 이미지 사이즈 구하는 방법

  3. 네이버 많이 본 뉴스 PHP로 RSS 출력 만들기

  4. PHP로 FTP 접속 / 업로드 / 다운로드 등의 컨트롤 소스

  5. 네이버 만화 PHP로 RSS 출력 만들기

  6. 네이버, 다음지식 php로 RSS 출력 만들기

  7. php 에서 mysql 제어하기

  8. 자바스크립트 변수를 php로 옮기기

  9. PHP 변수를 자바로 전송후 HTML로 뿌려주기

  10. PHP 시간관련 함수

  11. PHP로 그림에 글자 입히기

  12. [php] 특수문자 -> 엔티티, 엔티티 -> 특수문자

Board Pagination Prev 1 Next
/ 1

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소