function create() { if (in_array("b", $this->type) || in_array("l", $this->type)) { for ($bar = $i = 0; $i < count($this->type); $i++) { if ($this->type[$i] == 'b') { $bar += 1; } } $this->disbar = $this->larg * $bar; $this->ld = $this->larg + $this->disbar; # variabile di comodo # if (in_array("l", $this->type) && $this->disbar == 0) { $this->disbar = 2 * $this->larg; $this->ld = $this->disbar; # variabile di comodo # } if (!isset($this->mass)) { $this->mass = $this->mx; } if (!isset($this->mnvs)) { $this->mnvs = $this->mn; } if (isset($this->name)) { graidle::setLegend($this->name); } if (!isset($this->dvx)) { if ($this->mass <= 1) { $this->dvx = round($this->mass / 5, 1); } else { if ($this->mass > 1 && $this->mass < 10) { $this->dvx = 1; } else { $this->dvx = round($this->mass / 10); } } } if (!isset($this->AA)) { $this->AA = 2; } if ($this->mx > 0) { if ($this->mass == $this->mx) { $this->scarmax = 1; } else { $this->scarmax = $this->mass - $this->mx; } } $this->scarmin = $this->mn; if ($this->mn < 0) { if ($this->mnvs > 0 || !isset($this->mnvs)) { $this->scarmin = 0; } else { if ($this->mnvs > $this->mn || $this->mnvs < $this->mn) { $this->scarmin = $this->mnvs - $this->mn; } else { $this->scarmin = -1; } } } if (strlen($this->mn) > strlen($this->mx)) { $this->y_flag = strlen($this->mn); } else { $this->y_flag = strlen($this->mx); } $this->s += $this->font_small * graidle::stringLen($this->mass); if (!isset($this->w)) { $this->w = $this->ld * $this->cnt + $this->s + $this->d; if ($this->w < 640) { while ($this->w < 640) { $this->larg += 0.01; $this->disbar = $this->larg * $bar; $this->ld = $this->larg + $this->disbar; $this->w = round($this->ld * $this->cnt) + $this->s + $this->d; } } else { while ($this->w > 641) { $this->larg -= 0.01; $this->disbar = $this->larg * $bar; $this->ld = $this->larg + $this->disbar; $this->w = $this->ld * $this->cnt + $this->s + $this->d; } } } else { while ($this->ld * $this->cnt + $this->s + $this->d >= $this->w) { $this->larg -= 0.01; $this->disbar = $this->larg; $this->ld = $this->larg + $this->disbar; } while ($this->ld * $this->cnt + $this->s + $this->d <= $this->w) { $this->larg += 0.01; $this->disbar = $this->larg; $this->ld = $this->larg + $this->disbar; } } if (!isset($this->h)) { $this->h = round(3 / 4 * $this->w); } $this->b += 2 * $this->font_small; if ($this->mnvs > 0 && $this->mass > 0) { $this->mul = ($this->h - $this->a - $this->b) / ($this->mass - $this->mnvs); } else { $this->mul = ($this->h - $this->a - $this->b) / ($this->mass + $this->scarmax + (abs($this->mn) - $this->scarmin)); } $this->div = $this->dvx * $this->mul; $this->im = imagecreatetruecolor($this->w, $this->h); $rgb = Color::hex2rgb($this->axis_color); $this->axis_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); $rgb = Color::hex2rgb($this->font_color); $this->font_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); $rgb = Color::hex2rgb($this->bg_color); $this->bg_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); imagefilltoborder($this->im, 1, 1, 1, $this->bg_color); if (isset($this->legend) || isset($this->name)) { graidle::legend(); } graidle::title($this->title, $this->xAxis, $this->yAxis); graidle::gradAxis($this->sx, $this->sy); if (in_array("b", $this->type)) { include "graidle_histo.ext.php"; histogram::drawHisto(); } graidle::drawAxis(); if (in_array("l", $this->type)) { include "graidle_line.ext.php"; line::drawLine(); } } else { if (in_array("hb", $this->type)) { for ($bar = $i = 0; $i < count($this->type); $i++) { if ($this->type[$i] == 'hb') { $bar += 1; } } $this->disbar = $this->larg * $bar; if (isset($this->name)) { graidle::setLegend($this->name); } if (!isset($this->mass)) { $this->mass = $this->mx; } if (!isset($this->mnvs)) { $this->mnvs = $this->mn; } if (!isset($this->dvx)) { if ($this->mass <= 1) { $this->dvx = round($this->mass / 5, 1); } else { if ($this->mass > 1 && $this->mass < 10) { $this->dvx = 1; } else { $this->dvx = round($this->mass / 10); } } } if (!isset($this->AA)) { $this->AA = 4; } $this->b += 5 * $this->font_small; $this->d += round(graidle::StringLen($this->mass) * ($this->font_small / 4)); if (isset($this->vlx)) { for ($maxlen = $i = 0; $i <= count($this->vlx); $i++) { if (isset($this->vlx[$i])) { $curlen = graidle::stringlen($this->vlx[$i]) * $this->font_small; if ($maxlen < $curlen) { $maxlen = $curlen; } } } $this->s += $maxlen + 10; } else { $this->s += $this->font_small * 4; } if (isset($this->yAxis)) { $this->s += 2 * $this->fontsmall; } $this->ld = $this->larg + $this->disbar; # variabile di comodo # if (!isset($this->h)) { $this->h = $this->ld * $this->cnt + $this->a + $this->b; if ($this->h < 500) { while ($this->h < 500) { $this->larg += 0.01; $this->disbar = $this->larg * $bar; $this->ld = $this->larg + $this->disbar; $this->h = round($this->ld * $this->cnt) + $this->a + $this->b; } } else { while ($this->h > 501) { $this->larg -= 0.01; $this->disbar = $this->larg * $bar; $this->ld = $this->larg + $this->disbar; $this->h = $this->ld * $this->cnt + $this->a + $this->b; } } } else { while ($this->ld * $this->cnt + $this->a + $this->b <= $this->h) { $this->larg += 0.01; $this->disbar = $this->larg * $bar; $this->ld = $this->larg + $this->disbar; } while ($this->ld * $this->cnt + $this->a + $this->b >= $this->h) { $this->larg -= 0.01; $this->disbar = $this->larg * $bar; $this->ld = $this->larg + $this->disbar; } } if (!isset($this->w)) { $this->w = round(4 / 5 * $this->h); } if ($this->mnvs > 0 && $this->mass > 0) { $this->mul = ($this->w - $this->s - $this->d) / ($this->mass - $this->mnvs); } else { $this->mul = ($this->w - $this->s - $this->d) / ($this->mass + abs($this->mnvs)); } $this->im = imagecreatetruecolor($this->w, $this->h); $rgb = Color::hex2rgb($this->axis_color); $this->axis_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); $rgb = Color::hex2rgb($this->font_color); $this->font_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); $rgb = Color::hex2rgb($this->bg_color); $this->bg_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); imagefilltoborder($this->im, 1, 1, 1, $this->bg_color); if (isset($this->legend) || isset($this->name)) { graidle::legend(); } include "graidle_horizhisto.ext.php"; HorizHistogram::gradAxis($this->sx, $this->sy); HorizHistogram::drawHorizHisto(); HorizHistogram::drawAxis(); graidle::title($this->title, $this->xAxis, $this->yAxis); } else { if (in_array("p", $this->type)) { include "graidle_pie.ext.php"; for ($this->pie = $i = 0; $i < count($this->type); $i++) { if ($this->type[$i] == 'p') { $this->pie += 1; } } if (!isset($this->incl)) { $this->incl = 55; } if (!isset($this->AA)) { $this->AA = 4; } if (!isset($this->w)) { $this->w = 500; } if (!isset($this->h)) { $this->h = 500; } $this->tre_d = 0; if ($this->incl < 90) { $this->tre_d = round($this->incl / 5); } $this->radius = $this->w; $e = sin(deg2rad($this->incl)); $rapp = pow($e, 2); $a = $this->radius; $b = $a * $rapp; while ($a >= $this->w - $this->s - $this->d) { $a -= 1; $this->radius = $a; $b = $a * $rapp; } while ($b * $this->pie > $this->h - $this->a - $this->pie * $this->b - $this->pie * $this->tre_d) { $b -= 1; $a = $b / $rapp; $this->radius = $a; } $this->im = imagecreatetruecolor($this->w, $this->h); #<----CREO L'IMMAGINE PER IL GRAFICO A TORTA $rgb = Color::hex2rgb($this->bg_color); $this->bg_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); imagefilltoborder($this->im, 1, 1, 1, $this->bg_color); #<---- Creo lo sfondo $rgb = Color::hex2rgb($this->font_color); $this->font_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); if (isset($this->legend)) { graidle::legend(); } graidle::title($this->title); pie::drawPie($a, $b); } else { if (in_array("s", $this->type)) { include "graidle_spider.ext.php"; if (!isset($this->mass)) { $this->mass = $this->mx; } if (!isset($this->filled)) { $this->filled = 1; } if (!isset($this->AA)) { $this->AA = 4; } if (!isset($this->w)) { if (isset($this->h)) { $this->w = round($this->h * (5 / 4)); } else { $this->w = 500; } } if (!isset($this->h)) { $this->h = round($this->w * (4 / 5)); } if (isset($this->name)) { graidle::setLegend($this->name); } if (!isset($this->dvx)) { if ($this->mass / 10 < 1) { $this->dvx = round($this->mass / 5, 1); } else { $this->dvx = round($this->mass / 10); } } $this->radius = $this->w - $this->s - $this->d; while ($this->radius >= $this->h - $this->a - $this->b) { $this->radius -= 1; } $this->radius = round($this->radius / 2); $this->im = imagecreatetruecolor($this->w, $this->h); #<----CREO L'IMMAGINE PER IL GRAFICO A TORTA $rgb = Color::hex2rgb($this->bg_color); $this->bg_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); imagefilltoborder($this->im, 1, 1, 1, $this->bg_color); #<---- Creo lo sfondo $rgb = Color::hex2rgb($this->font_color); $this->font_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); $rgb = Color::hex2rgb($this->axis_color); $this->axis_color = imagecolorallocate($this->im, $rgb[0], $rgb[1], $rgb[2]); if (isset($this->legend)) { graidle::legend(); } graidle::title($this->title); spider::drawSpider(); } } } } }
<?php include "histogram.class.php"; //set_time_limit (100); //function histogram( inputted file name , input format, output format, rating, type_fill(1 to fill)) $h = new histogram("test.jpg", "jpeg", "jpeg", $_GET["sample"], 1); $h->output();