웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[초보]아주쉬운 PHP로 그림에 글자 입히기
2005.04.04 16:13
http://www.yubikiri.com/gd/주 대상은 PHP초보 입니다;; 저도 초보기에;; 고수님들 이런거 올렸다고 혼내기 없기~
아래 비슷한게 있던데 설명이 부족한듯해서 올립니다,.
일단 간략히 말하자면 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개 있습니다.
요청하시면 관련파일 모두 압축해서 올려드리겠습니다.
읽어주셔서 감사합니다~
-끝-
5월 11일 테스트용 파일 업로드
아래 비슷한게 있던데 설명이 부족한듯해서 올립니다,.
일단 간략히 말하자면 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개 있습니다.
요청하시면 관련파일 모두 압축해서 올려드리겠습니다.
읽어주셔서 감사합니다~
-끝-
5월 11일 테스트용 파일 업로드
댓글 11
-
티다
2005.07.03 11:19
imagedestroy는 무슨 함수인가요? -
test
2008.12.25 09:31
아마 이미지를 서버 메모리에서 제거하는 역할의 함수인듯 하네요 -
메트론
2005.06.22 14:24
고맙습니다. 아주 요긴하게 쓸께요... -
에지
2005.04.04 17:11
한글 입력시에는 저렇게 ImageTTFText() 함수를 써야하지만..
영문/숫자만 쓸 경우에는 그냥 ImageString()을 써주는것도 좋겠지요~ (^_^;;;) -
KLclub
2005.04.05 01:04
음..;
한글을 입력할땐 UTF-8을 지원하지 않는 폰트는 안되더군요,
묵향시리즈는 다되구요,
일부 폰트는 UTF-8을 지원하더라도 한곳에 쫙 모이더라구요,,
[어떤건 아예 에러메시지를 동반하기도;]
글구,, 끝부분에,,,
ImageJPEG($im,'',100);
이렇게 하셔야 JPG부분에선 화질이 제일 좋아지구요,,
ImageDestroy($im);
이걸 넣는게 좋습니다 : ) -
프템장
2005.04.05 10:18
재미있네요. 아이디어 좋으신것 같습니다.
잘 응용하면 멋질것 같습니다.
다만.. 개행처리는 상당히 아쉽군요. (개행처리할려면 여러번 처리해야 하나. -_-)
iconv도 확장기능이라서 추가로 설치하셔야 지원됩니다.
phpinfo로 보시면 지원여부 아실수 있죠. -
유시형
2005.04.15 10:47
김규백//
테스트 페이지 가봤더니 폰트가 넘 이뿌던데...
폰트 이름이 어캐 데나여???
글고 전 따라 해봤는데 한글이 전혀 안되네여 ㅡㅡ;
영어와 숫자는 다 잘되는데...
KLclub//
폰트가 UTF-8 을 지원하는지는 어떻게 확인 할 수 있나요?? -
JPstyle
2005.04.18 18:24
프템장//
개행처리가 뉴라인을 말하시는거라면
String 중간에 n을 넣어주면 되네요 ^^; -
최이
2005.04.20 17:25
만약 한글이 깨진다면
iconv("EUC-KR","UTF-8","내용");
위를 추가하면 에러가 뜨는데 어떻게 적용하나요! -
김동현
2005.04.20 23:01
예제 소스는 없나요?
도통 무슨말인지 모르게서요...; -
고승일
2005.08.19 13:10
좋은데 따라할 용기가..
제목 | 글쓴이 | 날짜 |
---|---|---|
크롬리스(Chromless) 웹어플리케이션 -6 (최종) [4] | sundew | 2003.05.30 |
메뉴 옆에서 화살표가 스크롤되는.. [2] | 힘찬연못 | 2003.05.29 |
크롬리스(Chromless) 웹어플리케이션 -5 [3] | sundew | 2003.05.28 |
스크롤되는 레이어 나두 갖구 싶어서 ^^; 맹글어 봤습니다. [10] | M@xPond | 2003.05.28 |
오른쪽 버튼 클릭시 북마크창 띄우기(1석2조 방식) [4] | RedEye(rinja) | 2003.05.23 |
크롬리스(Chromless) 웹어플리케이션 -4 [4] | sundew | 2003.05.23 |
손님컴퓨터에 내홈피 즐겨찾기 원클릭으로추가시키기 [5] | 호호짱 | 2003.05.23 |
크롬리스(Chromless) 웹어플리케이션 -3 [5] | sundew | 2003.05.21 |
오늘 날짜와 시간 [3] | Brown | 2003.05.20 |
크롬리스(Chromless) 웹어플리케이션 -2 [5] | sundew | 2003.05.18 |
크롬리스(Chromless) 웹어플리케이션 -1 [1] | sundew | 2003.05.17 |
XXX는 객체가 아닙니다. [1] | RedEye | 2003.05.12 |
자바스크립트의 활용함에 대해.... [5] | RedEye | 2003.05.12 |
자바스크립트의 활용함에 대해 2 .... [1] | RedEye | 2003.05.18 |
[벅스 전용] 랜덤 음악 재생 Javascript. [1] | sundew | 2003.05.11 |
구문 오류 및 런타임 오류 모음 [1] | 아이쿠 | 2003.05.10 |
이벤트 핸들러 (Event Handler) 모음 [2] | 아이쿠 | 2003.05.10 |
랜덤 배경화면 구현하기 초간단 스크립트 공개(중복아님) [5] | 호호짱 | 2003.05.07 |
[배경음악] 첫곡은 랜덤, 그 이후로는 순차재생 [20] | 이주경 | 2003.05.06 |
[re] [소스] [배경음악] 첫곡은 랜덤, 그 이후로는 순차재생 --> 문제해결! [1] | 장진석 | 2003.06.02 |