위토즈 - 개발자프로그램판매공간

정보공유

[PHP] GD 를 이용한 그래프 만들기 SAMPLE 1

샘플.
/test.php?0,0,0,0,5,16,80,-10


[code]


<?
  Header("Content-type : image/png");
 
  $query_string = urldecode(getenv("QUERY_STRING"));
  $query_string = explode("," , $query_string);
 
  for ($i=0; $i<10; $i++){
  if ($y_max < intval($query_string[$i])){
    $y_max = intval($query_string[$i]);
    }
  }
 
  $image = ImageCreate(274,188);
  $white = ImageColorAllocate($image , 255,255,255);
  $skin = ImageColorAllocate($image , 250,219,172);
  $black = ImageColorAllocate($image , 0,0,0);
  $dark_gray = ImageColorAllocate($image , 241,241,241);
 
  ImageLine($image , 33,15,233,15, $black);
  ImageLine($image , 33,15,33,165, $black);
  ImageLine($image , 33,165,233,165, $black);
  ImageLine($image , 233,15,233,165, $black);
  ImageLine($image , 25,20,25,170, $black);
  ImageLine($image , 25,170,225,170, $black);
 
  ImageString($image , 2, 3, 4,"Man(%)",$black);
  ImageString($image , 2, 250, 174,"Avg",$black);
  //x축 안선
  for ($i=25; $i < 160; $i=$i+10){
  ImageLine($image , 33,$i,233,$i, $dark_gray);
  }
  //x축 대칭
  for ($i=20; $i<171; $i=$i+10){
  ImageLine ($image,25,$i,33,$i-5,$black);
  }
 
  // y축 안선
  for ($i=53; $i < 230; $i=$i+20){
  ImageLine($image , $i,15,$i,165, $dark_gray);
  }
 
  // y축 대칭
  for ($i=25; $i<226; $i=$i+20){
  ImageLine ($image,$i,170,$i+10,165,$black);
  }
 
  //x축 값
  $x_position =22;
  $x_value =0;
  for ($i=0; $i<=10; $i++){
 ImageString($image,2,$x_position,175,$x_value,$black);
 $x_position= $x_position + 20;
 $x_value = $x_value + 10;
  }
 
  //y축 값
  $y_position = 23;
  if ( $y_max <=  35){
  $y_value = 28;
  } else {
  $y_value = $y_max;
  }
 
  $temp = intval($y_value/7);
  $y_value = $temp * 7 +7;
  $y_max = $y_value;
  $skip = $temp +1;
 
  for ($i=0; $i<=7; $i++) {
    ImageString($image,2,7,$y_position,$y_value,$black);
 $y_position=$y_position+20;
 $y_value = $y_value - $skip;
  }
 
 // 막대그래프 꺽은선 그래프
  $rectPosition =35;
  $linePosition =40;
  for ($i=0; $i<10; $i++) {
    $y_rectPosition = 145 * intval($query_string[$i])/$y_max;
 $y_rectPosition = 170-$y_rectPosition;
    imageFilledRectangle($image, $rectPosition ,$y_rectPosition,$rectPosition+10,167, $skin);
 imageFilledRectangle($image, $linePosition-2, $y_rectPosition-2, $linePosition+2, $y_rectPosition+2 ,$black);
 $rectPosition = $rectPosition +20;
 if ($i != 0){
 ImageLine($image ,$temp1,$temp2,$linePosition,$y_rectPosition, $black);
 }
 $temp1 = $linePosition;
 $temp2 = $y_rectPosition;
 $linePosition = $linePosition +20;
  }
   
  ImagePNG($image);
  ImageDestroy($image);
 
?>

[/code]
정보공유
Total 74건 5 페이지
번호 제목 글쓴이 날짜 조회
14 cURL을 이용한 웹페이지 가져오기 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-20 35429
13 2차원 배열 정렬 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-18 29390
12 cURL 모듈 사용가능여부 판단. 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-15 30791
11 정규식 참고 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-27 29469
10 메일주소 정규식 체크 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-25 29692
9 유니크 한 일련번호 생성하기. 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-17 32531
8 원하는 자릿수 만큼 문자열 생성처리 함수. sprintf 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-11 28437
7 Simple Microphone Recorder 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-26 29852
6 즐겨쓰는 php db 연결문 (접속 - 해제) 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-24 31931
5 달력 함수. 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-24 28709
4 GD 를 이용한 그래프 만들기 SAMPLE 2 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-18 28525
열람중 GD 를 이용한 그래프 만들기 SAMPLE 1 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-18 29676
2 Minify 를 이용한 JavaScript, CSS 압축 전송 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-09 41251
1 php 를 asp 로 db연결방법 파일업로드 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-07 35973