rahele83
جمعه 22 مرداد 1389, 23:42 عصر
$p = new ch();
$p->bg = "#ffffff";
$p->color = array('#ff99ff','#ff8800','#0022ff','#33ff33');
$p->percent = array(20,20,10,50);
$p->display();
class ch
{
var $color,$percent,$option = array();
function rgb2hex($c)
{
if(!ereg("^#",$c)) return false;
$c = str_replace("#","",$c);
if(strlen($c) !=6) return false;
$p = array(hexdec(substr($c,0,2)),hexdec(substr($c,2,2) ),hexdec(substr($c,4,2)));
return $p;
}
function p2d($p)
{
$d = ($p * 360)/100;
return $d;
}
function first($n)
{
$t = 0;
for($i = 0; $i < $n; $i++)
{
$t += $this->p2d($this->percent[$i]);
}
return $t;
}
function end($n)
{
$t = $this->p2d($this->percent[0]);
for($i = 1; $i < $n+1; $i++)
{
$t += $this->p2d($this->percent[$i]);
}
return $t;
}
function display()
{
$img = imagecreatetruecolor(100,100);
$b = $this->rgb2hex($this->bg);
$bg = imagecolorallocate($img, $b[0], $b[1], $b[2]);
imagefill($img, 0, 0, $bg);
foreach($this->color as $k => $v)
{
$fc = $this->rgb2hex($this->color[$k]);
$f_color[] = imagecolorallocate($img, $fc[0], $fc[1], $fc[2]);
}
for ($i = 65; $i > 50; $i--)
{
foreach($this->percent as $k => $v)
{
imagefilledarc($img, 50, $i, 100, 50, $this->first($k), $this->end($k),$f_color[$k]*3 , IMG_ARC_PIE);
}
}
foreach($this->percent as $k => $v)
{
imagefilledarc($img, 50, 50, 100, 50, $this->first($k), $this->end($k),$f_color[$k] , IMG_ARC_PIE);
}
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
}
}
?>مشکل این کد چیه که این اروررومیده
میگه نمیتونه نشون بده
http://localhost/tr/vo1.php
$p->bg = "#ffffff";
$p->color = array('#ff99ff','#ff8800','#0022ff','#33ff33');
$p->percent = array(20,20,10,50);
$p->display();
class ch
{
var $color,$percent,$option = array();
function rgb2hex($c)
{
if(!ereg("^#",$c)) return false;
$c = str_replace("#","",$c);
if(strlen($c) !=6) return false;
$p = array(hexdec(substr($c,0,2)),hexdec(substr($c,2,2) ),hexdec(substr($c,4,2)));
return $p;
}
function p2d($p)
{
$d = ($p * 360)/100;
return $d;
}
function first($n)
{
$t = 0;
for($i = 0; $i < $n; $i++)
{
$t += $this->p2d($this->percent[$i]);
}
return $t;
}
function end($n)
{
$t = $this->p2d($this->percent[0]);
for($i = 1; $i < $n+1; $i++)
{
$t += $this->p2d($this->percent[$i]);
}
return $t;
}
function display()
{
$img = imagecreatetruecolor(100,100);
$b = $this->rgb2hex($this->bg);
$bg = imagecolorallocate($img, $b[0], $b[1], $b[2]);
imagefill($img, 0, 0, $bg);
foreach($this->color as $k => $v)
{
$fc = $this->rgb2hex($this->color[$k]);
$f_color[] = imagecolorallocate($img, $fc[0], $fc[1], $fc[2]);
}
for ($i = 65; $i > 50; $i--)
{
foreach($this->percent as $k => $v)
{
imagefilledarc($img, 50, $i, 100, 50, $this->first($k), $this->end($k),$f_color[$k]*3 , IMG_ARC_PIE);
}
}
foreach($this->percent as $k => $v)
{
imagefilledarc($img, 50, 50, 100, 50, $this->first($k), $this->end($k),$f_color[$k] , IMG_ARC_PIE);
}
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
}
}
?>مشکل این کد چیه که این اروررومیده
میگه نمیتونه نشون بده
http://localhost/tr/vo1.php