蓝派网(www.lan27.com)-精选网络资源,分享和交流! 文章首页站内搜索在线手册广告代码酷站欣赏万年历
您现在的位置: 蓝派网 >> 文章中心 >> 网络编程 >> PHP >> 正文

PHP打造超酷数据饼图

作者:佚名    文章来源:网络转载    更新时间:2007-11-26 23:32:46
好早以前看过,地址也保留过,后来找不到了,留一篇备份吧。  
 

源代码:

 PHP代码如下:
//+------------------------+ 
//| pie3dfun.PHP//公用函数 | 
//+------------------------+ 

define("ANGLE_STEP", 5); 
//定义画椭圆弧时的角度步长 

function draw_getdarkcolor($img,$clr) 
//求$clr对应的暗色 

$rgb = imagecolorsforindex($img,$clr
); 
return array($rgb["red"]/2,$rgb["green"]/2,$rgb["blue"]/2
); 


function draw_getexy($a, $b, $d) 
//求角度$d对应的椭圆上的点坐标 

$d = deg2rad($d
); 
return array(round($a*Cos($d)), round($b*Sin($d
))); 


function draw_arc($img,$ox,$oy,$a,$b,$sd,$ed,$clr) 
//椭圆弧函数 

$n = ceil(($ed-$sd)/ANGLE_STEP
); 
$d = $sd

list($x0,$y0) = draw_getexy($a,$b,$d
); 
for($i=0; $i<$n; $i
++) 

$d = ($d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP
); 
list($x, $y) = draw_getexy($a, $b, $d
); 
imageline($img, $x0+$ox, $y0+$oy, $x+$ox, $y+$oy, $clr
); 
$x0 = $x

$y0 = $y




function draw_sector($img, $ox, $oy, $a, $b, $sd, $ed, $clr) 
//画扇面 

$n = ceil(($ed-$sd)/ANGLE_STEP
); 
$d = $sd

list($x0,$y0) = draw_getexy($a, $b, $d
); 
imageline($img, $x0+$ox, $y0+$oy, $ox, $oy, $clr
); 
for($i=0; $i<$n; $i
++) 

$d = ($d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP
); 
list($x, $y) = draw_getexy($a, $b, $d
); 
imageline($img, $x0+$ox, $y0+$oy, $x+$ox, $y+$oy, $clr
); 
$x0 = $x

$y0 = $y


imageline($img, $x0+$ox, $y0+$oy, $ox, $oy, $clr
); 
list($x, $y) = draw_getexy($a/2, $b/2, ($d+$sd)/2
); 
imagefill($img, $x+$ox, $y+$oy, $clr
); 


function draw_sector3d($img, $ox, $oy, $a, $b, $v, $sd, $ed, $clr) 
//3d扇面 

draw_sector($img, $ox, $oy, $a, $b, $sd, $ed, $clr
); 
if($sd<180


[1] [2] [3] 下一页

 
【相关文章:】
没有相关文章

发表评论】【打印此文】【关闭窗口】【点击数:
★好玩的休闲小游戏★