| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/HostingSpaces/admin/chatme24.com/wwwroot/_server/top5/ |
Upload File : |
hD="0123456789ABCDEF";
function d2h(d)
{
var h = hD.substr(d&15,1);
while(d>15) {d>>=4;h=hD.substr(d&15,1)+h;}
return h;
}
function h2d(h)
{
return parseInt(h,16);
}
function pie()
{
this.ct = 0;
this.data = new Array();
this.x_name = new Array();
this.max = 0;
this.c_array = new Array();
this.c_array[0] = new Array(105, 146, 26);
this.c_array[1] = new Array(197, 204, 30);
this.c_array[2] = new Array(228, 167, 25);
this.c_array[3] = new Array(229, 91, 28);
this.c_array[4] = new Array(195, 62, 113);
this.getColor = function()
{
if(this.ct >= (this.c_array.length-1))
this.ct = 0;
else
this.ct++;
return "#" + d2h(this.c_array[this.ct][0]) + d2h(this.c_array[this.ct][1]) + d2h(this.c_array[this.ct][2]);
}
this.add = function(x_name, value)
{
this.x_name.push(x_name);
this.data.push(parseInt(value,10));
this.max += parseInt(value,10);
}
this.fillArc = function(x, y, r, st_a, en_a, jg)
{
//var number_of_steps = Math.round(2.1 * Math.PI * r );
var number_of_steps = en_a - st_a ;
var angle_increment = 2 * Math.PI / number_of_steps;
var xc = new Array();
var yc = new Array();
st_r = st_a*Math.PI / 180;
en_r = en_a*Math.PI / 180;
for (angle = st_r; angle <= en_r; angle += angle_increment)
{
if(en_r < angle + angle_increment)
angle = en_r;
var y2 = Math.sin(angle) * r ;
var x2 = Math.cos(angle) * r ;
xc.push(x+x2);
yc.push(y-y2);
//jg.drawLine(x+x2, y-y2, x+x2, y-y2);
}
xc.push(x);
yc.push(y);
//jg.fillPolygon(xc, yc);
//jg.setColor("black");
//jg.drawLine(x, y, x+ln_x, y-ln_y);
}
this.render = function(canvas, title)
{
var jg = new jsGraphics(canvas);
var r = 85;
var sx = 200;
var sy = 200;
var hyp = 100;
var fnt = 11;
// shadow
jg.setColor("gray");
this.fillArc(sx+5, sy+5, r, 0, 360, jg);
jg.fillEllipse(sx+5-r, sy+5-r, 2*r, 2*r);
var st_angle = 0;
for(i = 0; i<this.data.length; i++)
{
var angle = Math.round(this.data[i]/this.max*360);
var pc = Math.round(this.data[i]/this.max*100);
jg.setColor(this.getColor());
jg.fillArc(116, 116, r*2, r*2, st_angle, st_angle+angle);
var ang_rads = (st_angle+(angle/2))*2*Math.PI/360;
var my = Math.sin(ang_rads) * hyp;
var mx = Math.cos(ang_rads) * hyp;
st_angle += angle;
mxa = (mx < 0 ? 50 : 0);
jg.drawString(this.x_name[i]+"",sx+mx*1.2-mxa,sy-my*1.4-30);
}
jg.setColor("black");
jg.drawEllipse(sx-r, sy-r, 2*r, 2*r);
jg.paint();
}
}