4 && $ica<1) { $i=1; $split=""; while ($i<$ic && $ica<1) { $split.=$r[$i]; $i++; } $fcount=explode($split, $read); $i=0; while (isset($fcount[$i]) && $ica<1) { $i++; } $iii=$i-1; $ii=$i-2; if ($ii>0 && strlen($fcount[$iii])==32) { $ica=1; } $ic--; } $ita=0; while (isset($fcount[$ita])) { $datari[$ita]=strlen($fcount[$ita])/2; if (preg_match("/\./", $datari[$ita], $match)) { $datari[$ita]=$datari[$ita]+0.5; } $ita++; } $ita--; $datari[0]="x"; $datari[$ita]=$datari[0]; sort($datari, SORT_NUMERIC); $datari=array_reverse($datari); $datarii=0; $full=0; while (isset($datari[$datarii])) { if ($datari[$datarii]!="x") { $full=$full+$datari[$datarii]; } $datarii++; } $datarii=0; $data=""; $label=""; while (isset($datari[$datarii])) { if ($datari[$datarii]!="x") { $data.=$datari[$datarii] . "*"; $lj=""; $datariix=$datarii+1; if (strlen($datariix) 99) ? $R -= 100 : $R = 0; ($G > 99) ? $G -= 100 : $G = 0; ($B > 99) ? $B -= 100 : $B = 0; } else { ($R < 220) ? $R += 35 : $R = 255; ($G < 220) ? $G += 35 : $G = 255; ($B < 220) ? $B += 35 : $B = 255; } return ImageColorAllocate($img, $R, $G, $B); } function OutputImage($img) { header('Content-type: image/jpg'); ImageJPEG($img,NULL,100); } $show_label=true; $show_percent=true; $show_text=true; $show_parts=false; $label_form='square'; $width=199; $background_color='FFFFFF'; $text_color='000000'; $colors=array('003366', 'CCD6E0', '7F99B2','F7EFC6', 'C6BE8C', 'CC6600','990000','520000','BFBFC1','808080'); $shadow_height=16; $shadow_dark=true; $height = $width/2; $data = explode('*',$data); if ($label != '') $label = explode('*',$label); for ($i = 0; $i < count($label); $i++) { if ($data[$i]/array_sum($data) < 0.1) $number[$i] = ' '.number_format(($data[$i]/array_sum($data))*100,1,',','.').'%'; else $number[$i] = number_format(($data[$i]/array_sum($data))*100,1,',','.').'%'; if (strlen($label[$i]) > $text_length) $text_length = strlen($label[$i]); } if (is_array($label)) { $antal_label = count($label); $xtra = (5+15*$antal_label)-($height+ceil($shadow_height)); if ($xtra > 0) $xtra_height = (5+15*$antal_label)-($height+ceil($shadow_height)); $xtra_width = 5; if ($show_label) $xtra_width += 20; if ($show_percent) $xtra_width += 45; if ($show_text) $xtra_width += $text_length*8; if ($show_parts) $xtra_width += 35; } $img = ImageCreateTrueColor($width+$xtra_width+30, $height+ceil($shadow_height)+$xtra_height+30); ImageFill($img, 0, 0, colorHex($img, $background_color)); foreach ($colors as $colorkode) { $fill_color[] = colorHex($img, $colorkode); $shadow_color[] = colorHexshadow($img, $colorkode, $shadow_dark); } $label_place = 5; if (is_array($label)) { for ($i = 0; $i < count($label); $i++) { if ($label_form == 'round' && $show_label && $data[$i] > 0) { imagefilledellipse($img,$width+11,$label_place+5,10,10,colorHex($img, $colors[$i % count($colors)])); imageellipse($img,$width+11,$label_place+5,10,10,colorHex($img, $text_color)); } else if ($label_form == 'square' && $show_label && $data[$i] > 0) { imagefilledrectangle($img,$width+6,$label_place,$width+16,$label_place+10,colorHex($img, $colors[$i % count($colors)])); imagerectangle($img,$width+6,$label_place,$width+16,$label_place+10,colorHex($img, $text_color)); } if ($data[$i] > 0) { if ($show_percent) $label_output = preg_replace('/ /' ,' ~', $number[$i]) . ' '; if (!preg_match("/~/", $label_output, $match)) { $label_output='~' . $label_output; } if ($show_text) $label_output = $label_output.$label[$i].' '; if ($show_parts) $label_output = $label_output.$data[$i]; imagestring($img,'3',$width+20,$label_place,$label_output,colorHex($img, $text_color)); $label_output = ''; $label_place = $label_place + 15; } } } $centerX = round($width/2); $centerY = round($height/2); $diameterX = $width-4; $diameterY = $height-4; $stringji="custom size: " . $full; $siaz=54-(strlen($full)*2.8); imagestring($img,'3',$siaz,120,$stringji,colorHex($img, $text_color)); $data_sum = array_sum($data); $start = 270; for ($i = 0; $i < count($data); $i++) { $value += $data[$i]; if ($data_sum==0) { $end=270; } else { $end=ceil(($value/$data_sum)*360)+270; } $slice[] = array($start, $end, $shadow_color[$value_counter % count($shadow_color)], $fill_color[$value_counter % count($fill_color)]); $start = $end; $value_counter++; } for ($i=$centerY+$shadow_height; $i>$centerY; $i--) { for ($j = 0; $j < count($slice); $j++) { if ($slice[$j][0] != $slice[$j][1]) ImageFilledArc($img, $centerX, $i, $diameterX, $diameterY, $slice[$j][0], $slice[$j][1], $slice[$j][2], IMG_ARC_PIE); } } for ($j = 0; $j < count($slice); $j++) { if ($slice[$j][0] != $slice[$j][1]) ImageFilledArc($img, $centerX, $centerY, $diameterX, $diameterY, $slice[$j][0], $slice[$j][1], $slice[$j][3], IMG_ARC_PIE); } OutputImage($img); ImageDestroy($img); } //--------------- if (strlen($error)>0) { echo "" . $error . ""; } ?>