| Viewing file:  canvaspiralex1.php (1.51 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
<?php// $Id: canvaspiralex1.php,v 1.1 2002/10/26 11:35:42 aditus Exp $
 include "../jpgraph.php";
 include "../jpgraph_canvas.php";
 
 
 if( empty($_GET['r']) )
 $r = 0.44;
 else
 $r = $_GET['r'];
 
 if( empty($_GET['w']) )
 $w=150;
 else
 $w = $_GET['w'];
 
 if( empty($_GET['h']) )
 $h=240;
 else
 $h = $_GET['h'];
 
 if( $w < 60 ) $w=60;
 if( $h < 60 ) $h=60;
 
 
 function SeaShell($img,$x,$y,$w,$h,$r,$n=12,$color1='navy',$color2='red') {
 
 $x += $w;
 $w = (1-$r)/$r*$w;
 
 $sa = 0;
 $ea = 90;
 
 $s1 = 1;
 $s2 = -1;
 $x_old=$x; $y_old=$y;
 for($i=1; $i < $n; ++$i) {
 $sa += 90;
 $ea += 90;
 if( $i % 2 == 1 ) {
 $y = $y + $s1*$h*$r;
 $h = (1-$r)*$h;
 $w = $w / (1-$r) * $r ;
 $s1 *= -1;
 $img->SetColor($color1);
 $img->Line($x,$y,$x+$s1*$w,$y);
 }
 else {
 $x = $x + $s2*$w*$r;
 $w = (1-$r)*$w;
 $h = $h / (1-$r) * $r;
 $s2 *= -1;
 $img->SetColor($color1);
 $img->Line($x,$y,$x,$y-$s2*$h);
 }
 $img->SetColor($color2);
 $img->FilledRectangle($x-1,$y-1,$x+1,$y+1);
 $img->Arc($x,$y,2*$w+1,2*$h+1,$sa,$ea);
 $img->Arc($x,$y,2*$w,2*$h,$sa,$ea);
 $img->Arc($x,$y,2*$w-1,2*$h-1,$sa,$ea);
 $img->Line($x_old,$y_old,$x,$y);
 $x_old=$x; $y_old=$y;
 }
 }
 
 $g = new CanvasGraph($w,$h);
 //$gr = 1.61803398874989484820;
 
 $p = SeaShell($g->img,0,20,$w-1,$h-21,$r,19);
 $g->img->SetColor('black');
 $g->img->Rectangle(0,20,$w-1,$h-1);
 $g->img->SetFont(FF_FONT2,FS_BOLD);
 $g->img->SetTextAlign('center','top');
 $g->img->StrokeText($w/2,0,"Canvas Spiral");
 
 $g->Stroke();
 ?>
 
 
 |