打造超酷的PHP数据饼图

钢铁一般的男人

钢铁一般的男人

2016-01-29 14:14

打造超酷的PHP数据饼图,打造超酷的PHP数据饼图

源代码:

//+------------------------+

//| pie3dfun.PHP//公用函数 |

//+------------------------+

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

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

{

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$rgb = imagecolorsforindex($img,$clr);

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

}

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

{

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$d = deg2rad($d);

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

}

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

{

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

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

$d = $sd;

list($x0,$y0) = draw_getexy($a,$b,$d);

for($i=0; $i<$n; $i++)

{

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$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) //画扇面

{

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$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++)

{

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

$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扇面

{

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

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

if($sd<180)

{

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

list($R, $G, $B) = draw_getdarkcolor($img, $clr);

$clr=imagecolorallocate($img, $R, $G, $B);

if($ed180) $ed = 180;

list($sx, $sy) = draw_getexy($a,$b,$sd);

$sx += $ox;

$sy += $oy;

list($ex, $ey) = draw_getexy($a,

展开更多 50%)
分享

猜你喜欢

打造超酷的PHP数据饼图

PHP
打造超酷的PHP数据饼图

PHP对象编程实现3D饼图

PHP
PHP对象编程实现3D饼图

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

为Excel2024数据生成指定的饼图

电脑入门
为Excel2024数据生成指定的饼图

excel如何制作饼图?

excel
excel如何制作饼图?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

轻松使用JSP生成饼图

Java JAVA基础
轻松使用JSP生成饼图

PHP 数据加密

PHP
PHP 数据加密

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Delphi中高级DLL的编写和调用(1)

Delphi中高级DLL的编写和调用(1)

组件技术在Delphi中的实现(1)

组件技术在Delphi中的实现(1)
下拉加载更多内容 ↓