웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
환장하거씀다.
앞전에 막대그래프 맹기러주는 함수 올렸더니
그 소스 테스트 한다는 분들 완죠니 이상하고 엉뚱한 자료들만 입력해서
생성된 그래프가 진짜 개판 오분전입니다.
제대로 된 자료 입력하고 출력결과를 확인해보고 제대로 테스트하면
지구가 얼마나 평화롭겠슴까.
테스트 빙자해서 자꾸 엉뚱한 자료 입력하고 개판 맹글면
나도 이 게시판에 내 개판오분전 강좌로 도배해서
이 PHP 게시판을 개판 오분전으로 만들거씀다.
아래 소스는 라인 그래프 맹기러주는 함수와 입력폼입니다.
값은 라인 그래프가 가르키는 각각의 값이며 x 는 그래프의 가로크기이고
y 는 그래프의 세로크기.
값이름은 거시기임당.(한글 안됨다. 비밀이지만 한글 입력 가능해보려 소스 수정하려다가
머리가 살짝 돌아서 미친개 돼삣씀다.)
뭐 필요한 사람은 라이브러리에 포함 시켜 쓰시던지 뭐라 할 사람 하나 음씀다.
test : http://allzza.net/my3.php
<?
$img_url = "./tt/test3.png";
if($a) {
line_graph(explode(",",$a),$b,$c,explode(",",$d),$img_url);
echo "<img src="$img_url">";
}
function line_graph($val,$x,$y,$x_val,$img_url) { //-- 라인 그래프 만들어주는 함수
/*
$val : 값을 원소로 하는 배열
$x : 그래프 가로축 크기
$y : 그래프 세로축 크기
$x_val : x축 값의 이름 배열
$img_url : 저장할 파일의 경로와 이름(png)
*/
$r_x = $x - 40;
$r_y = $y - 40;
$gaesu = count($val);
for($i=0;$i<$gaesu;$i++) { //-- 점이 찍히는 x 위치
if(!$i) $point_x[] = ($r_x / $gaesu) /2;
else $point_x[] = $r_x / $gaesu + $point_x[$i - 1];
}
$max_ = max($val);
for($m=0;$m<strlen($max_);$m++) { //-- 가로 선을 긋기 위해 최대값의 올림값을 구함
if(!$m) {
$max_value = substr($max_,0,1) + 1;
$z_ = $max_value;
}
else $max_value .= 0;
}
$gg = array(1,1,4,3,4,5,4,7,4,6,5);
$ggg = $max_value / $gg[$z_];
for($n=0;$n<$z_;$n++) { //-- 가로선이 그어지는 y 좌표 배열
if($n==0) {
$z_index[] = $r_y;
$z_val[] = 0;
}
else {
$z_index[] = $r_y - $r_y / $z_ * $n;
$z_val[] = $n * $ggg;
}
}
$im = @ImageCreate($x,$y) or die ("이미지를 초기화 하지 못했습니다");
$backgroundcolor=ImageColorAllocate($im,234,253,231); //-- 그랩 바탕색
$pointcolor = ImageColorAllocate($im,65,127,250); //-- 그랩 색깔
$white = ImageColorAllocate($im,255,255,240); //-- 그랩 바닥색
$line_color = ImageColorAllocate($im,255,102,240); //-- 라인 색
ImageFilledRectAngle($im,0,0,$r_x,$r_y,$backgroundcolor);
ImageFilledRectAngle($im,0,$r_y,$r_x,$y,$white);
ImageFilledRectAngle($im,$r_x,0,$x,$y,$white);
for($p=0;$p<count($z_index);$p++) {
if($p) {
ImageLine($im,0,$z_index[$p],$r_x,$z_index[$p],$line_color);
Imagestring($im,3,$r_x + 8, $z_index[$p] - 10,$z_val[$p],imagecolorallocate($im,42,31,21));
}
}
for($q=0;$q<$gaesu;$q++) {
//imagearc($im,$point_x[$q],$max_value - $val[$q],4,4,0,360,$pointcolor);
imagearc($im,$point_x[$q],$r_y - $val[$q]/$max_value * $r_y,6,6,0,360,$pointcolor);
imageFill($im,$point_x[$q],$r_y - $val[$q]/$max_value * $r_y,$pointcolor);
if($q) imageLine($im,$point_x[$q-1],$r_y - $val[$q-1]/$max_value * $r_y,$point_x[$q],$r_y - $val[$q]/$max_value * $r_y,$pointcolor);
imageString($im,3,$point_x[$q]-5,$r_y + 10,$x_val[$q],imagecolorallocate($im,42,31,21));
}
ImagePNG($im,$img_url);
ImageDestroy($im);
}
?>
<form name=my method=post action="<? $PHP_SELF; ?>">
값 : <input type=text size=50 name=a value="<?=$a;?>"><br>
가로 : <input type=text size=5 name=b value="<?=$b;?>"><br>
세로 : <input tpye=text size=5 name=c value="<?=$c;?>"><br>
값이름 : <input type=text size=50 name=d value="<?=$d;?>"><br>
파일 이름 : <input type=text readonly size=30 value="./tt/test3.png" name=e><br>
<input type=button value="구래푸 맹글기" onclick='this.form.submit()'>
</form>
개판 오분전 라인 그래프
2004.12.01 22:33
환장하거씀다.
앞전에 막대그래프 맹기러주는 함수 올렸더니
그 소스 테스트 한다는 분들 완죠니 이상하고 엉뚱한 자료들만 입력해서
생성된 그래프가 진짜 개판 오분전입니다.
제대로 된 자료 입력하고 출력결과를 확인해보고 제대로 테스트하면
지구가 얼마나 평화롭겠슴까.
테스트 빙자해서 자꾸 엉뚱한 자료 입력하고 개판 맹글면
나도 이 게시판에 내 개판오분전 강좌로 도배해서
이 PHP 게시판을 개판 오분전으로 만들거씀다.
아래 소스는 라인 그래프 맹기러주는 함수와 입력폼입니다.
값은 라인 그래프가 가르키는 각각의 값이며 x 는 그래프의 가로크기이고
y 는 그래프의 세로크기.
값이름은 거시기임당.(한글 안됨다. 비밀이지만 한글 입력 가능해보려 소스 수정하려다가
머리가 살짝 돌아서 미친개 돼삣씀다.)
뭐 필요한 사람은 라이브러리에 포함 시켜 쓰시던지 뭐라 할 사람 하나 음씀다.
test : http://allzza.net/my3.php
<?
$img_url = "./tt/test3.png";
if($a) {
line_graph(explode(",",$a),$b,$c,explode(",",$d),$img_url);
echo "<img src="$img_url">";
}
function line_graph($val,$x,$y,$x_val,$img_url) { //-- 라인 그래프 만들어주는 함수
/*
$val : 값을 원소로 하는 배열
$x : 그래프 가로축 크기
$y : 그래프 세로축 크기
$x_val : x축 값의 이름 배열
$img_url : 저장할 파일의 경로와 이름(png)
*/
$r_x = $x - 40;
$r_y = $y - 40;
$gaesu = count($val);
for($i=0;$i<$gaesu;$i++) { //-- 점이 찍히는 x 위치
if(!$i) $point_x[] = ($r_x / $gaesu) /2;
else $point_x[] = $r_x / $gaesu + $point_x[$i - 1];
}
$max_ = max($val);
for($m=0;$m<strlen($max_);$m++) { //-- 가로 선을 긋기 위해 최대값의 올림값을 구함
if(!$m) {
$max_value = substr($max_,0,1) + 1;
$z_ = $max_value;
}
else $max_value .= 0;
}
$gg = array(1,1,4,3,4,5,4,7,4,6,5);
$ggg = $max_value / $gg[$z_];
for($n=0;$n<$z_;$n++) { //-- 가로선이 그어지는 y 좌표 배열
if($n==0) {
$z_index[] = $r_y;
$z_val[] = 0;
}
else {
$z_index[] = $r_y - $r_y / $z_ * $n;
$z_val[] = $n * $ggg;
}
}
$im = @ImageCreate($x,$y) or die ("이미지를 초기화 하지 못했습니다");
$backgroundcolor=ImageColorAllocate($im,234,253,231); //-- 그랩 바탕색
$pointcolor = ImageColorAllocate($im,65,127,250); //-- 그랩 색깔
$white = ImageColorAllocate($im,255,255,240); //-- 그랩 바닥색
$line_color = ImageColorAllocate($im,255,102,240); //-- 라인 색
ImageFilledRectAngle($im,0,0,$r_x,$r_y,$backgroundcolor);
ImageFilledRectAngle($im,0,$r_y,$r_x,$y,$white);
ImageFilledRectAngle($im,$r_x,0,$x,$y,$white);
for($p=0;$p<count($z_index);$p++) {
if($p) {
ImageLine($im,0,$z_index[$p],$r_x,$z_index[$p],$line_color);
Imagestring($im,3,$r_x + 8, $z_index[$p] - 10,$z_val[$p],imagecolorallocate($im,42,31,21));
}
}
for($q=0;$q<$gaesu;$q++) {
//imagearc($im,$point_x[$q],$max_value - $val[$q],4,4,0,360,$pointcolor);
imagearc($im,$point_x[$q],$r_y - $val[$q]/$max_value * $r_y,6,6,0,360,$pointcolor);
imageFill($im,$point_x[$q],$r_y - $val[$q]/$max_value * $r_y,$pointcolor);
if($q) imageLine($im,$point_x[$q-1],$r_y - $val[$q-1]/$max_value * $r_y,$point_x[$q],$r_y - $val[$q]/$max_value * $r_y,$pointcolor);
imageString($im,3,$point_x[$q]-5,$r_y + 10,$x_val[$q],imagecolorallocate($im,42,31,21));
}
ImagePNG($im,$img_url);
ImageDestroy($im);
}
?>
<form name=my method=post action="<? $PHP_SELF; ?>">
값 : <input type=text size=50 name=a value="<?=$a;?>"><br>
가로 : <input type=text size=5 name=b value="<?=$b;?>"><br>
세로 : <input tpye=text size=5 name=c value="<?=$c;?>"><br>
값이름 : <input type=text size=50 name=d value="<?=$d;?>"><br>
파일 이름 : <input type=text readonly size=30 value="./tt/test3.png" name=e><br>
<input type=button value="구래푸 맹글기" onclick='this.form.submit()'>
</form>
댓글 4
-
잠수부
2004.12.01 22:35
하하, 또 열심히 공부하셨군여.. ㅋㅋ -
미친개
2004.12.01 22:43
그렇게 나를 잘 아시는 잠수부님은 누구심까? -
미친개
2004.12.01 23:44
$gg = array(1,1,4,3,4,5,4,7,4,6,5);
$ggg = $max_value / $gg[$z_];
for($n=0;$n<$z_;$n++) { //-- 가로선이 그어지는 y 좌표 배열
if($n==0) {
$z_index[] = $r_y;
$z_val[] = 0;
}
else {
$z_index[] = $r_y - $r_y / $z_ * $n;
$z_val[] = $n * $ggg;
}
}
==> 수정합니다.
$gg = array(1,1,4,3,4,5,4,7,4,6,5);
$ggg = $max_value / $gg[$z_];
for($n=0;$n<$gg[$z_];$n++) { //-- 가로선이 그어지는 y 좌표 배열
if($n==0) {
$z_index[] = $r_y;
$z_val[] = 0;
}
else {
$z_index[] = $r_y - $r_y / $gg[$z_] * $n;
$z_val[] = $n * $ggg;
}
} -
TheMics
2004.12.02 18:41
역시 미친개님 글은 감칠맛이 납니다. 추천 누르고 갑니다 :)
제목 | 글쓴이 | 날짜 |
---|---|---|
편리한 컴내꺼 포트개방 (com.ne.kr FTP Port Open) [1] | phase | 2003.08.16 |
Marquee 태그를 이용한 간단한 스크립트 [7] | 뒹굴리스트 | 2003.08.06 |
나름대로 만들어본 가운데 팝업 스크립트 [3] | phase | 2003.07.31 |
HTML경고창 [수정#2] [14] | [락위듀]아렌티 | 2003.07.26 |
초강력 울트라..매가톤 간단...랜덤이미지.. [6] | 김한샘 | 2003.07.24 |
노프레임 홈페이지 수정 편리하게 &용량줄이기. [9] | 세죠위그이 | 2003.07.15 |
한줄씩 올라가는 뉴스티거용 인데요....제로보드하구는 어케...쩝 [12] | 하나비 | 2003.07.08 |
이미지 필터를 사용한 간단한 소스 [3] | NzeoZen | 2003.07.06 |
상태바에 2개의 메세지가 뜨는 태그 | 김주형 | 2003.07.03 |
마우스 오른쪽 버튼 누르면 원하는 메뉴 뜨게 만들기(다른사이트) [3] | 김주형 | 2003.07.03 |
제로보드 사용시 아이프레임의 크기를 내용에 따라 바꿔주는 스크립트 [7] | 쿨리안 | 2003.06.28 |
아이프레임으로 나타낸 문서를 크기에 맞게 자동으로 사이즈 조절 [3] | DODGE | 2003.06.28 |
웹에서그림그리기 [5] | 카이저 | 2003.06.27 |
손쉬운 롤오버 이미지 자동생성 [15] | 행복한고니 | 2003.06.16 |
[스크립트] 메뉴에 마우슬 데면 서브 메뉴가 나온다 [2] | 처절초보 | 2003.06.16 |
[스크립트]오른쪽 버튼 누르면 메뉴나오기^^ [1] | 처절초보 | 2003.06.16 |
Top, Back 함께사용하기 | sharim | 2003.06.11 |
자바스크립트로 두개 이상의 페이지 동시에 열기. [4] | 이성헌 | 2003.06.08 |
엔터키 걸러내고 코멘트 무조건 10자이상으로 하게하는 자바스크립트 소스 [9] | 교행사랑 | 2003.06.06 |
오른쪽마우스 클릭금지,드래그금지,하단주소 숨기기 한꺼번에~ [8] | 한길 | 2003.06.03 |