Lines Matching refs:this

199      $this->XSize   = $XSize;
200 $this->YSize = $YSize;
201 $this->Picture = imagecreatetruecolor($XSize,$YSize);
203 $C_White =$this->AllocateColor($this->Picture,255,255,255);
204 imagefilledrectangle($this->Picture,0,0,$XSize,$YSize,$C_White);
205 imagecolortransparent($this->Picture,$C_White);
207 $this->setFontProperties("tahoma.ttf",8);
213 $this->ErrorReporting = TRUE;
214 $this->ErrorInterface = $Interface;
220 $this->FontName = $FontName;
221 $this->FontSize = $FontSize;
227 $this->ShadowActive = TRUE;
228 $this->ShadowXDistance = $XDistance;
229 $this->ShadowYDistance = $YDistance;
230 $this->ShadowRColor = $R;
231 $this->ShadowGColor = $G;
232 $this->ShadowBColor = $B;
233 $this->ShadowAlpha = $Alpha;
234 $this->ShadowBlur = $Blur;
240 $this->ShadowActive = FALSE;
250 $this->Palette[$ID]["R"] = $R;
251 $this->Palette[$ID]["G"] = $G;
252 $this->Palette[$ID]["B"] = $B;
264 $this->Palette[$i]["R"] = $R1+$RFactor*$i;
265 $this->Palette[$i]["G"] = $G1+$GFactor*$i;
266 $this->Palette[$i]["B"] = $B1+$BFactor*$i;
285 $this->Palette[$ColorID]["R"] = $Values[0];
286 $this->Palette[$ColorID]["G"] = $Values[1];
287 $this->Palette[$ColorID]["B"] = $Values[2];
297 $this->LineWidth = $Width;
298 $this->LineDotSize = $DotSize;
304 $this->Currency = $Currency;
310 $this->GArea_X1 = $X1;
311 $this->GArea_Y1 = $Y1;
312 $this->GArea_X2 = $X2;
313 $this->GArea_Y2 = $Y2;
319 …$this->drawFilledRectangle($this->GArea_X1,$this->GArea_Y1,$this->GArea_X2,$this->GArea_Y2,$R,$G,$…
320 …$this->drawRectangle($this->GArea_X1,$this->GArea_Y1,$this->GArea_X2,$this->GArea_Y2,$R-40,$G-40,$…
328 $LineColor =$this->AllocateColor($this->Picture,$R2,$G2,$B2);
329 $SkewWidth = $this->GArea_Y2-$this->GArea_Y1-1;
331 for($i=$this->GArea_X1-$SkewWidth;$i<=$this->GArea_X2;$i=$i+4)
333 $X1 = $i; $Y1 = $this->GArea_Y2;
334 $X2 = $i+$SkewWidth; $Y2 = $this->GArea_Y1;
337 if ( $X1 < $this->GArea_X1 )
338 { $X1 = $this->GArea_X1; $Y1 = $this->GArea_Y1 + $X2 - $this->GArea_X1 + 1; }
340 if ( $X2 >= $this->GArea_X2 )
341 { $Y2 = $this->GArea_Y1 + $X2 - $this->GArea_X2 +1; $X2 = $this->GArea_X2 - 1; }
344 imageline($this->Picture,$X1,$Y1,$X2,$Y2+1,$LineColor);
352 $this->VMin = NULL;
353 $this->VMax = NULL;
354 $this->VXMin = NULL;
355 $this->VXMax = NULL;
356 $this->Divisions = NULL;
357 $this->XDivisions = NULL; }
362 $this->VMin = $VMin;
363 $this->VMax = $VMax;
364 $this->Divisions = $Divisions;
368 $this->VXMin = $VXMin;
369 $this->VXMax = $VXMax;
370 $this->XDivisions = $XDivisions;
377 …$this->drawScale($Data,$DataDescription,$ScaleMode,$R,$G,$B,$DrawTicks,$Angle,$Decimals,$WithMargi…
384 $this->validateData("drawScale",$Data);
386 $C_TextColor =$this->AllocateColor($this->Picture,$R,$G,$B);
388 $this->drawLine($this->GArea_X1,$this->GArea_Y1,$this->GArea_X1,$this->GArea_Y2,$R,$G,$B);
389 $this->drawLine($this->GArea_X1,$this->GArea_Y2,$this->GArea_X2,$this->GArea_Y2,$R,$G,$B);
391 if ( $this->VMin == NULL && $this->VMax == NULL)
395 $this->VMin = $Data[0][$DataDescription["Values"][0]];
396 $this->VMax = $Data[0][$DataDescription["Values"][0]];
398 else { $this->VMin = 2147483647; $this->VMax = -2147483647; }
403 if ( $ScaleMode == SCALE_START0 ) { $this->VMin = 0; }
415 if ( $this->VMax < $Value) { $this->VMax = $Value; }
416 if ( $this->VMin > $Value) { $this->VMin = $Value; }
424 if ( $ScaleMode == SCALE_ADDALLSTART0 ) { $this->VMin = 0; }
438 if ( $this->VMax < $Sum) { $this->VMax = $Sum; }
439 if ( $this->VMin > $Sum) { $this->VMin = $Sum; }
443 if ( $this->VMax > preg_replace('/\.[0-9]+/','',$this->VMax) )
444 $this->VMax = preg_replace('/\.[0-9]+/','',$this->VMax)+1;
447 if ( $this->VMax == $this->VMin )
449 if ( $this->VMax >= 0 ) { $this->VMax++; }
450 else { $this->VMin--; }
453 $DataRange = $this->VMax - $this->VMin;
458 $MinDivHeight = 25; $MaxDivs = ($this->GArea_Y2 - $this->GArea_Y1) / $MinDivHeight;
460 if ( $this->VMin == 0 && $this->VMax == 0 )
461 { $this->VMin = 0; $this->VMax = 2; $Scale = 1; $Divisions = 2;}
466 $Scale1 = ( $this->VMax - $this->VMin ) / $Factor;
467 $Scale2 = ( $this->VMax - $this->VMin ) / $Factor / 2;
468 $Scale4 = ( $this->VMax - $this->VMin ) / $Factor / 4;
479 if ( floor($this->VMax / $Scale / $Factor) != $this->VMax / $Scale / $Factor)
481 $GridID = floor ( $this->VMax / $Scale / $Factor) + 1;
482 $this->VMax = $GridID * $Scale * $Factor;
486 if ( floor($this->VMin / $Scale / $Factor) != $this->VMin / $Scale / $Factor)
488 $GridID = floor( $this->VMin / $Scale / $Factor);
489 $this->VMin = $GridID * $Scale * $Factor;
503 $Divisions = $this->Divisions;
505 $this->DivisionCount = $Divisions;
507 $DataRange = $this->VMax - $this->VMin;
510 $this->DivisionHeight = ( $this->GArea_Y2 - $this->GArea_Y1 ) / $Divisions;
511 $this->DivisionRatio = ( $this->GArea_Y2 - $this->GArea_Y1 ) / $DataRange;
513 $this->GAreaXOffset = 0;
517 $this->DivisionWidth = ( $this->GArea_X2 - $this->GArea_X1 ) / (count($Data)-1);
520 $this->DivisionWidth = ( $this->GArea_X2 - $this->GArea_X1 ) / (count($Data));
521 $this->GAreaXOffset = $this->DivisionWidth / 2;
526 $this->DivisionWidth = $this->GArea_X2 - $this->GArea_X1;
527 $this->GAreaXOffset = $this->DivisionWidth / 2;
530 $this->DataCount = count($Data);
535 $YPos = $this->GArea_Y2; $XMin = NULL;
539 $this->drawLine($this->GArea_X2,$YPos,$this->GArea_X2+5,$YPos,$R,$G,$B);
541 $this->drawLine($this->GArea_X1,$YPos,$this->GArea_X1-5,$YPos,$R,$G,$B);
543 $Value = $this->VMin + ($i-1) * (( $this->VMax - $this->VMin ) / $Divisions);
548 $Value = $this->ToTime($Value);
550 $Value = $this->ToDate($Value);
552 $Value = $this->ToMetric($Value);
554 $Value = $this->ToCurrency($Value);
556 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value);
561 …imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X2+10,$YPos+($this->FontSize/2),$C_Text…
562 …if ( $XMin < $this->GArea_X2+15+$TextWidth || $XMin == NULL ) { $XMin = $this->GArea_X2+15+$TextWi…
566 …imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X1-10-$TextWidth,$YPos+($this->FontSize…
567 …if ( $XMin > $this->GArea_X1-10-$TextWidth || $XMin == NULL ) { $XMin = $this->GArea_X1-10-$TextWi…
570 $YPos = $YPos - $this->DivisionHeight;
576 $Position = imageftbbox($this->FontSize,90,$this->FontName,$DataDescription["Axis"]["Y"]);
578 $TextTop = (($this->GArea_Y2 - $this->GArea_Y1) / 2) + $this->GArea_Y1 + ($TextHeight/2);
581 …imagettftext($this->Picture,$this->FontSize,90,$XMin+$this->FontSize,$TextTop,$C_TextColor,$this->…
583 …imagettftext($this->Picture,$this->FontSize,90,$XMin-$this->FontSize,$TextTop,$C_TextColor,$this->…
587 $XPos = $this->GArea_X1 + $this->GAreaXOffset;
593 $this->drawLine(floor($XPos),$this->GArea_Y2,floor($XPos),$this->GArea_Y2+5,$R,$G,$B);
598 $Value = $this->ToTime($Value);
600 $Value = $this->ToDate($Value);
602 $Value = $this->ToMetric($Value);
604 $Value = $this->ToCurrency($Value);
606 $Position = imageftbbox($this->FontSize,$Angle,$this->FontName,$Value);
612 $YPos = $this->GArea_Y2+18;
613 …imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)-floor($TextWidth/2),$YPos,$C_TextC…
617 $YPos = $this->GArea_Y2+10+$TextHeight;
619 …imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)-$TextWidth+5,$YPos,$C_TextColor,$t…
621 …imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)+$TextWidth+5,$YPos,$C_TextColor,$t…
626 $XPos = $XPos + $this->DivisionWidth;
633 $Position = imageftbbox($this->FontSize,90,$this->FontName,$DataDescription["Axis"]["X"]);
635 $TextLeft = (($this->GArea_X2 - $this->GArea_X1) / 2) + $this->GArea_X1 + ($TextWidth/2);
636 …imagettftext($this->Picture,$this->FontSize,0,$TextLeft,$YMax+$this->FontSize+5,$C_TextColor,$this
644 $this->validateData("drawScale",$Data);
646 $C_TextColor =$this->AllocateColor($this->Picture,$R,$G,$B);
648 $this->drawLine($this->GArea_X1,$this->GArea_Y1,$this->GArea_X1,$this->GArea_Y2,$R,$G,$B);
649 $this->drawLine($this->GArea_X1,$this->GArea_Y2,$this->GArea_X2,$this->GArea_Y2,$R,$G,$B);
652 if ( $this->VMin == NULL && $this->VMax == NULL)
654 $this->VMin = $Data[0][$YSerieName];
655 $this->VMax = $Data[0][$YSerieName];
662 if ( $this->VMax < $Value) { $this->VMax = $Value; }
663 if ( $this->VMin > $Value) { $this->VMin = $Value; }
667 if ( $this->VMax > preg_replace('/\.[0-9]+/','',$this->VMax) )
668 $this->VMax = preg_replace('/\.[0-9]+/','',$this->VMax)+1;
670 $DataRange = $this->VMax - $this->VMin;
675 $MinDivHeight = 25; $MaxDivs = ($this->GArea_Y2 - $this->GArea_Y1) / $MinDivHeight;
677 if ( $this->VMin == 0 && $this->VMax == 0 )
678 { $this->VMin = 0; $this->VMax = 2; $Scale = 1; $Divisions = 2;}
683 $Scale1 = ( $this->VMax - $this->VMin ) / $Factor;
684 $Scale2 = ( $this->VMax - $this->VMin ) / $Factor / 2;
685 $Scale4 = ( $this->VMax - $this->VMin ) / $Factor / 4;
696 if ( floor($this->VMax / $Scale / $Factor) != $this->VMax / $Scale / $Factor)
698 $GridID = floor ( $this->VMax / $Scale / $Factor) + 1;
699 $this->VMax = $GridID * $Scale * $Factor;
703 if ( floor($this->VMin / $Scale / $Factor) != $this->VMin / $Scale / $Factor)
705 $GridID = floor( $this->VMin / $Scale / $Factor);
706 $this->VMin = $GridID * $Scale * $Factor;
716 if ( $this->isRealInt(($this->VMax-$this->VMin)/($Divisions-1)))
718 elseif ( $this->isRealInt(($this->VMax-$this->VMin)/($Divisions+1)))
722 $Divisions = $this->Divisions;
724 $this->DivisionCount = $Divisions;
726 $DataRange = $this->VMax - $this->VMin;
729 $this->DivisionHeight = ( $this->GArea_Y2 - $this->GArea_Y1 ) / $Divisions;
730 $this->DivisionRatio = ( $this->GArea_Y2 - $this->GArea_Y1 ) / $DataRange;
732 $YPos = $this->GArea_Y2; $XMin = NULL;
735 $this->drawLine($this->GArea_X1,$YPos,$this->GArea_X1-5,$YPos,$R,$G,$B);
736 $Value = $this->VMin + ($i-1) * (( $this->VMax - $this->VMin ) / $Divisions);
741 $Value = $this->ToTime($Value);
743 $Value = $this->ToDate($Value);
745 $Value = $this->ToMetric($Value);
747 $Value = $this->ToCurrency($Value);
749 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value);
751 …imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X1-10-$TextWidth,$YPos+($this->FontSize…
753 …if ( $XMin > $this->GArea_X1-10-$TextWidth || $XMin == NULL ) { $XMin = $this->GArea_X1-10-$TextWi…
755 $YPos = $YPos - $this->DivisionHeight;
759 if ( $this->VXMin == NULL && $this->VXMax == NULL)
761 $this->VXMin = $Data[0][$XSerieName];
762 $this->VXMax = $Data[0][$XSerieName];
769 if ( $this->VXMax < $Value) { $this->VXMax = $Value; }
770 if ( $this->VXMin > $Value) { $this->VXMin = $Value; }
774 if ( $this->VXMax > preg_replace('/\.[0-9]+/','',$this->VXMax) )
775 $this->VXMax = preg_replace('/\.[0-9]+/','',$this->VXMax)+1;
777 $DataRange = $this->VMax - $this->VMin;
782 $MinDivWidth = 25; $MaxDivs = ($this->GArea_X2 - $this->GArea_X1) / $MinDivWidth;
784 if ( $this->VXMin == 0 && $this->VXMax == 0 )
785 { $this->VXMin = 0; $this->VXMax = 2; $Scale = 1; $XDivisions = 2;}
790 $Scale1 = ( $this->VXMax - $this->VXMin ) / $Factor;
791 $Scale2 = ( $this->VXMax - $this->VXMin ) / $Factor / 2;
792 $Scale4 = ( $this->VXMax - $this->VXMin ) / $Factor / 4;
803 if ( floor($this->VXMax / $Scale / $Factor) != $this->VXMax / $Scale / $Factor)
805 $GridID = floor ( $this->VXMax / $Scale / $Factor) + 1;
806 $this->VXMax = $GridID * $Scale * $Factor;
810 if ( floor($this->VXMin / $Scale / $Factor) != $this->VXMin / $Scale / $Factor)
812 $GridID = floor( $this->VXMin / $Scale / $Factor);
813 $this->VXMin = $GridID * $Scale * $Factor;
823 if ( $this->isRealInt(($this->VXMax-$this->VXMin)/($XDivisions-1)))
825 elseif ( $this->isRealInt(($this->VXMax-$this->VXMin)/($XDivisions+1)))
829 $XDivisions = $this->XDivisions;
831 $this->XDivisionCount = $Divisions;
832 $this->DataCount = $Divisions + 2;
834 $XDataRange = $this->VXMax - $this->VXMin;
837 $this->DivisionWidth = ( $this->GArea_X2 - $this->GArea_X1 ) / $XDivisions;
838 $this->XDivisionRatio = ( $this->GArea_X2 - $this->GArea_X1 ) / $XDataRange;
840 $XPos = $this->GArea_X1; $YMax = NULL;
843 $this->drawLine($XPos,$this->GArea_Y2,$XPos,$this->GArea_Y2+5,$R,$G,$B);
845 $Value = $this->VXMin + ($i-1) * (( $this->VXMax - $this->VXMin ) / $XDivisions);
850 $Value = $this->ToTime($Value);
852 $Value = $this->ToDate($Value);
854 $Value = $this->ToMetric($Value);
856 $Value = $this->ToCurrency($Value);
858 $Position = imageftbbox($this->FontSize,$Angle,$this->FontName,$Value);
864 $YPos = $this->GArea_Y2+18;
865 …imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)-floor($TextWidth/2),$YPos,$C_TextC…
869 $YPos = $this->GArea_Y2+10+$TextHeight;
871 …imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)-$TextWidth+5,$YPos,$C_TextColor,$t…
873 …imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)+$TextWidth+5,$YPos,$C_TextColor,$t…
878 $XPos = $XPos + $this->DivisionWidth;
884 $Position = imageftbbox($this->FontSize,90,$this->FontName,$DataDescription["Axis"]["Y"]);
886 $TextTop = (($this->GArea_Y2 - $this->GArea_Y1) / 2) + $this->GArea_Y1 + ($TextHeight/2);
887 …imagettftext($this->Picture,$this->FontSize,90,$XMin-$this->FontSize,$TextTop,$C_TextColor,$this->…
893 $Position = imageftbbox($this->FontSize,90,$this->FontName,$DataDescription["Axis"]["X"]);
895 $TextLeft = (($this->GArea_X2 - $this->GArea_X1) / 2) + $this->GArea_X1 + ($TextWidth/2);
896 …imagettftext($this->Picture,$this->FontSize,0,$TextLeft,$YMax+$this->FontSize+5,$C_TextColor,$this
906 $LayerWidth = $this->GArea_X2-$this->GArea_X1;
907 $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
909 $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
910 $C_White =$this->AllocateColor($this->Layers[0],255,255,255);
911 imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
912 imagecolortransparent($this->Layers[0],$C_White);
914 $C_Rectangle =$this->AllocateColor($this->Layers[0],250,250,250);
918 for($i=0;$i<=$this->DivisionCount;$i++)
921 $YPos = $YPos - $this->DivisionHeight;
927 imagefilledrectangle($this->Layers[0],1,$YPos,$LayerWidth-1,$LastY,$C_Rectangle);
930 …imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$La…
931 imagedestroy($this->Layers[0]);
935 $YPos = $this->GArea_Y2 - $this->DivisionHeight;
936 for($i=1;$i<=$this->DivisionCount;$i++)
938 if ( $YPos > $this->GArea_Y1 && $YPos < $this->GArea_Y2 )
939 $this->drawDottedLine($this->GArea_X1,$YPos,$this->GArea_X2,$YPos,$LineWidth,$R,$G,$B);
941 $YPos = $YPos - $this->DivisionHeight;
945 if ( $this->GAreaXOffset == 0 )
946 …{ $XPos = $this->GArea_X1 + $this->DivisionWidth + $this->GAreaXOffset; $ColCount = $this->DataCou…
948 …{ $XPos = $this->GArea_X1 + $this->GAreaXOffset; $ColCount = floor( ($this->GArea_X2 - $this->GAre…
952 if ( $XPos > $this->GArea_X1 && $XPos < $this->GArea_X2 )
953 …$this->drawDottedLine(floor($XPos),$this->GArea_Y1,floor($XPos),$this->GArea_Y2,$LineWidth,$R,$G,$…
954 $XPos = $XPos + $this->DivisionWidth;
968 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value);
991 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value);
1008 $this->validateDataDescription("drawLegend",$DataDescription);
1013 $C_TextColor =$this->AllocateColor($this->Picture,$Rt,$Gt,$Bt);
1019 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value);
1033 …$this->drawFilledRoundedRectangle($XPos+1,$YPos+1,$XPos+$MaxWidth+1,$YPos+$MaxHeight+1,5,$Rs,$Gs,$…
1034 $this->drawFilledRoundedRectangle($XPos,$YPos,$XPos+$MaxWidth,$YPos+$MaxHeight,5,$R,$G,$B);
1037 $YOffset = 4 + $this->FontSize; $ID = 0;
1040 …$this->drawFilledRoundedRectangle($XPos+10,$YPos+$YOffset-4,$XPos+14,$YPos+$YOffset-4,2,$this->Pal…
1041 …imagettftext($this->Picture,$this->FontSize,0,$XPos+22,$YPos+$YOffset,$C_TextColor,$this->FontName…
1043 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value);
1055 $this->validateDataDescription("drawPieLegend",$DataDescription,FALSE);
1056 $this->validateData("drawPieLegend",$Data);
1061 $C_TextColor =$this->AllocateColor($this->Picture,0,0,0);
1068 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value2);
1078 …$this->drawFilledRoundedRectangle($XPos+1,$YPos+1,$XPos+$MaxWidth+1,$YPos+$MaxHeight+1,5,$R-30,$G-…
1079 $this->drawFilledRoundedRectangle($XPos,$YPos,$XPos+$MaxWidth,$YPos+$MaxHeight,5,$R,$G,$B);
1081 $YOffset = 4 + $this->FontSize; $ID = 0;
1085 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value2);
1087 …$this->drawFilledRectangle($XPos+10,$YPos+$YOffset-6,$XPos+14,$YPos+$YOffset-2,$this->Palette[$ID]…
1089 …imagettftext($this->Picture,$this->FontSize,0,$XPos+22,$YPos+$YOffset,$C_TextColor,$this->FontName…
1098 $C_TextColor = $this->AllocateColor($this->Picture,$R,$G,$B);
1102 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value);
1109 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value);
1116 …$C_ShadowColor = $this->AllocateColor($this->Picture,$this->ShadowRColor,$this->ShadowGColor,$this
1117 …imagettftext($this->Picture,$this->FontSize,0,$XPos+$this->ShadowXDistance,$YPos+$this->ShadowYDis…
1120 …imagettftext($this->Picture,$this->FontSize,0,$XPos,$YPos,$C_TextColor,$this->FontName,$Value); …
1126 $Position = imageftbbox($this->FontSize,$Angle,$this->FontName,$Text);
1133 $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$BgR,$BgG,$BgB,FALSE,$Alpha);
1135 if ( $Align == ALIGN_TOP_LEFT ) { $X = $X1+1; $Y = $Y1+$this->FontSize+1; }
1136 …if ( $Align == ALIGN_TOP_CENTER ) { $X = $X1+($AreaWidth/2)-($TextWidth/2); $Y = $Y1+$this->Fon…
1137 if ( $Align == ALIGN_TOP_RIGHT ) { $X = $X2-$TextWidth-1; $Y = $Y1+$this->FontSize+1; }
1145 $C_TextColor =$this->AllocateColor($this->Picture,$R,$G,$B);
1146 $C_ShadowColor =$this->AllocateColor($this->Picture,0,0,0);
1148 …imagettftext($this->Picture,$this->FontSize,$Angle,$X+1,$Y+1,$C_ShadowColor,$this->FontName,$Text)…
1150 … imagettftext($this->Picture,$this->FontSize,$Angle,$X,$Y,$C_TextColor,$this->FontName,$Text);
1160 $C_TextColor =$this->AllocateColor($this->Picture,$R,$G,$B);
1161 $Y = $this->GArea_Y2 - ($Value - $this->VMin) * $this->DivisionRatio;
1163 if ( $Y <= $this->GArea_Y1 || $Y >= $this->GArea_Y2 )
1167 $this->drawLine($this->GArea_X1,$Y,$this->GArea_X2,$Y,$R,$G,$B);
1169 $this->drawDottedLine($this->GArea_X1,$Y,$this->GArea_X2,$Y,$TickWidth,$R,$G,$B);
1177 …imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X2+2,$Y+($this->FontSize/2),$C_TextColo…
1179 …imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X1+2,$Y-($this->FontSize/2),$C_TextColo…
1187 $this->validateDataDescription("setLabel",$DataDescription);
1188 $this->validateData("setLabel",$Data);
1190 $C_Label =$this->AllocateColor($this->Picture,$R,$G,$B);
1191 …$C_Shadow =$this->AllocateColor($this->Picture,$R-$ShadowFactor,$G-$ShadowFactor,$B-$ShadowFac…
1192 $C_TextColor =$this->AllocateColor($this->Picture,0,0,0);
1203 $XPos = $this->GArea_X1 + $this->GAreaXOffset + ( $this->DivisionWidth * $Cp ) + 2;
1204 $YPos = $this->GArea_Y2 - ($NumericalValue - $this->VMin) * $this->DivisionRatio;
1206 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Caption);
1213 imagefilledpolygon($this->Picture,$Poly,3,$C_Shadow);
1214 …$this->drawLine($XPos,$YPos+1,$XPos + 9,$YPos - $TextOffset - .2,$R-$ShadowFactor,$G-$ShadowFactor…
1215 …$this->drawLine($XPos,$YPos+1,$XPos + 9,$YPos + $TextOffset + 2.2,$R-$ShadowFactor,$G-$ShadowFacto…
1216 …$this->drawFilledRectangle($XPos + 9,$YPos - $TextOffset-.2,$XPos + 13 + $TextWidth,$YPos + $TextO…
1220 imagefilledpolygon($this->Picture,$Poly,3,$C_Label);
1221 $this->drawLine($XPos-1,$YPos,$XPos + 8,$YPos - $TextOffset - 1.2,$R,$G,$B);
1222 $this->drawLine($XPos-1,$YPos,$XPos + 8,$YPos + $TextOffset + 1.2,$R,$G,$B);
1223 …$this->drawFilledRectangle($XPos + 8,$YPos - $TextOffset - 1.2,$XPos + 12 + $TextWidth,$YPos + $Te…
1225 …imagettftext($this->Picture,$this->FontSize,0,$XPos + 10,$YPos + $TextOffset,$C_TextColor,$this->F…
1232 $this->validateDataDescription("drawPlotGraph",$DataDescription);
1233 $this->validateData("drawPlotGraph",$Data);
1244 $R = $this->Palette[$ColorID]["R"];
1245 $G = $this->Palette[$ColorID]["G"];
1246 $B = $this->Palette[$ColorID]["B"];
1259 $XPos = $this->GArea_X1 + $this->GAreaXOffset;
1265 $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
1268 if ( $this->BuildMap )
1269 …$this->addToImageMap($XPos-$Hsize,$YPos-$Hsize,$XPos+1+$Hsize,$YPos+$Hsize+1,$DataDescription["Des…
1279 $this->drawFilledCircle($XPos+2,$YPos+2,$BigRadius,$R3,$G3,$B3);
1282 $R3 = $this->Palette[$ColorID]["R"]-20; if ( $R3 < 0 ) { $R3 = 0; }
1283 $G3 = $this->Palette[$ColorID]["G"]-20; if ( $G3 < 0 ) { $G3 = 0; }
1284 $B3 = $this->Palette[$ColorID]["B"]-20; if ( $B3 < 0 ) { $B3 = 0; }
1285 $this->drawFilledCircle($XPos+2,$YPos+2,$BigRadius,$R3,$G3,$B3);
1289 $this->drawFilledCircle($XPos+1,$YPos+1,$BigRadius,$R,$G,$B);
1294 $this->drawFilledCircle($XPos+1,$YPos+1,$SmallRadius,$R2,$G2,$B2);
1297 $R2 = $this->Palette[$ColorID]["R"]-15; if ( $R2 < 0 ) { $R2 = 0; }
1298 $G2 = $this->Palette[$ColorID]["G"]-15; if ( $G2 < 0 ) { $G2 = 0; }
1299 $B2 = $this->Palette[$ColorID]["B"]-15; if ( $B2 < 0 ) { $B2 = 0; }
1301 $this->drawFilledCircle($XPos+1,$YPos+1,$SmallRadius,$R2,$G2,$B2);
1307 …imagecopymerge($this->Picture,$Symbol,$XPos+1-$ImageWidth/2,$YPos+1-$ImageHeight/2,0,0,$ImageWidth…
1311 $XPos = $XPos + $this->DivisionWidth;
1320 $R = $this->Palette[$PaletteID]["R"];
1321 $G = $this->Palette[$PaletteID]["G"];
1322 $B = $this->Palette[$PaletteID]["B"];
1333 $Y = $this->GArea_Y2 - (($Y-$this->VMin) * $this->DivisionRatio);
1334 $X = $this->GArea_X1 + (($X-$this->VXMin) * $this->XDivisionRatio);
1340 $this->drawFilledCircle($X+2,$Y+2,$BigRadius,$R3,$G3,$B3);
1343 $R3 = $this->Palette[$PaletteID]["R"]-20; if ( $R < 0 ) { $R = 0; }
1344 $G3 = $this->Palette[$PaletteID]["G"]-20; if ( $G < 0 ) { $G = 0; }
1345 $B3 = $this->Palette[$PaletteID]["B"]-20; if ( $B < 0 ) { $B = 0; }
1346 $this->drawFilledCircle($X+2,$Y+2,$BigRadius,$R3,$G3,$B3);
1350 $this->drawFilledCircle($X+1,$Y+1,$BigRadius,$R,$G,$B);
1353 $this->drawFilledCircle($X+1,$Y+1,$SmallRadius,$R2,$G2,$B2);
1356 $R2 = $this->Palette[$PaletteID]["R"]+20; if ( $R > 255 ) { $R = 255; }
1357 $G2 = $this->Palette[$PaletteID]["G"]+20; if ( $G > 255 ) { $G = 255; }
1358 $B2 = $this->Palette[$PaletteID]["B"]+20; if ( $B > 255 ) { $B = 255; }
1359 $this->drawFilledCircle($X+1,$Y+1,$SmallRadius,$R2,$G2,$B2);
1370 $this->validateData("drawArea",$Data);
1372 $LayerWidth = $this->GArea_X2-$this->GArea_X1;
1373 $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
1375 $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
1376 $C_White =$this->AllocateColor($this->Layers[0],255,255,255);
1377 imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
1378 imagecolortransparent($this->Layers[0],$C_White);
1380 $C_Graph =$this->AllocateColor($this->Layers[0],$R,$G,$B);
1382 $XPos = $this->GAreaXOffset;
1388 $YPos1 = $LayerHeight - (($Value1-$this->VMin) * $this->DivisionRatio);
1389 $YPos2 = $LayerHeight - (($Value2-$this->VMin) * $this->DivisionRatio);
1399 imagefilledpolygon($this->Layers[0],$Points,4,$C_Graph);
1406 $XPos = $XPos + $this->DivisionWidth;
1409 …imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$La…
1410 imagedestroy($this->Layers[0]);
1418 $this->validateDataDescription("writeValues",$DataDescription);
1419 $this->validateData("writeValues",$Data);
1429 $XPos = $this->GArea_X1 + $this->GAreaXOffset;
1436 $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
1438 $Positions = imagettfbbox($this->FontSize,0,$this->FontName,$Value);
1442 …$C_TextColor =$this->AllocateColor($this->Picture,$this->Palette[$ColorID]["R"],$this->Palette[$Co…
1443 …imagettftext($this->Picture,$this->FontSize,0,$XOffset,$YOffset,$C_TextColor,$this->FontName,$Valu…
1445 $XPos = $XPos + $this->DivisionWidth;
1455 $this->validateDataDescription("drawLineGraph",$DataDescription);
1456 $this->validateData("drawLineGraph",$Data);
1467 $XPos = $this->GArea_X1 + $this->GAreaXOffset;
1474 $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
1477 if ( $this->BuildMap )
1478 …$this->addToImageMap($XPos-3,$YPos-3,$XPos+3,$YPos+3,$DataDescription["Description"][$ColName],$Da…
1482 …$this->drawLine($XLast,$YLast,$XPos,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["…
1488 $XPos = $XPos + $this->DivisionWidth;
1506 $Y = $this->GArea_Y2 - (($Y-$this->VMin) * $this->DivisionRatio);
1507 $X = $this->GArea_X1 + (($X-$this->VXMin) * $this->XDivisionRatio);
1511 …$this->drawLine($XLast,$YLast,$X,$Y,$this->Palette[$PaletteID]["R"],$this->Palette[$PaletteID]["G"…
1524 $this->validateDataDescription("drawCubicCurve",$DataDescription);
1525 $this->validateData("drawCubicCurve",$Data);
1573 $XPos = $this->GArea_X1 + $this->GAreaXOffset;
1594 $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
1597 …$this->drawLine($XLast,$YLast,$XPos,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["…
1601 $XPos = $XPos + $this->DivisionWidth * $Accuracy;
1605 $XPos = $XPos - $this->DivisionWidth * $Accuracy;
1606 if ( $XPos < ($this->GArea_X2 - $this->GAreaXOffset) )
1608 $YPos = $this->GArea_Y2 - (($YIn[$Index]-$this->VMin) * $this->DivisionRatio);
1609 …$this->drawLine($XLast,$YLast,$this->GArea_X2-$this->GAreaXOffset,$YPos,$this->Palette[$ColorID]["…
1621 $this->validateDataDescription("drawFilledCubicCurve",$DataDescription);
1622 $this->validateData("drawFilledCubicCurve",$Data);
1624 $LayerWidth = $this->GArea_X2-$this->GArea_X1;
1625 $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
1626 $YZero = $LayerHeight - ((0-$this->VMin) * $this->DivisionRatio);
1671 $Points[] = $this->GAreaXOffset;
1674 $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
1675 $C_White =$this->AllocateColor($this->Layers[0],255,255,255);
1676 imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
1677 imagecolortransparent($this->Layers[0],$C_White);
1680 $XPos = $this->GAreaXOffset; $PointsCount = 2;
1701 $YPos = $LayerHeight - (($Value-$this->VMin) * $this->DivisionRatio);
1715 …$C_Graph =$this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$Colo…
1716 imagefilledpolygon($this->Layers[0],$aPoints,4,$C_Graph);
1731 $XPos = $XPos + $this->DivisionWidth * $Accuracy;
1735 $XPos = $XPos - $this->DivisionWidth * $Accuracy;
1736 if ( $XPos < ($LayerWidth-$this->GAreaXOffset) )
1738 $YPos = $LayerHeight - (($YIn[$Index]-$this->VMin) * $this->DivisionRatio);
1745 $aPoints[] = $LayerWidth-$this->GAreaXOffset;
1747 $aPoints[] = $LayerWidth-$this->GAreaXOffset;
1752 …$C_Graph =$this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$Colo…
1753 imagefilledpolygon($this->Layers[0],$aPoints,4,$C_Graph);
1759 $Points[] = $LayerWidth-$this->GAreaXOffset;
1764 $Points[] = $LayerWidth-$this->GAreaXOffset;
1769 …$C_Graph =$this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$Colo…
1770 imagefilledpolygon($this->Layers[0],$Points,$PointsCount,$C_Graph);
1773 …imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$La…
1774 imagedestroy($this->Layers[0]);
1776 $this->drawCubicCurve($Data,$DataDescription,$Accuracy,$ColName);
1788 $this->validateDataDescription("drawFilledLineGraph",$DataDescription);
1789 $this->validateData("drawFilledLineGraph",$Data);
1791 $LayerWidth = $this->GArea_X2-$this->GArea_X1;
1792 $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
1802 $aPoints[] = $this->GAreaXOffset;
1805 $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
1806 $C_White = $this->AllocateColor($this->Layers[0],255,255,255);
1807 imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
1808 imagecolortransparent($this->Layers[0],$C_White);
1810 $XPos = $this->GAreaXOffset;
1812 $YZero = $LayerHeight - ((0-$this->VMin) * $this->DivisionRatio);
1819 $YPos = $LayerHeight - (($Value-$this->VMin) * $this->DivisionRatio);
1822 if ( $this->BuildMap )
1823 …$this->addToImageMap($XPos-3,$YPos-3,$XPos+3,$YPos+3,$DataDescription["Description"][$ColName],$Da…
1852 …$C_Graph = $this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$Col…
1853 imagefilledpolygon($this->Layers[0],$Points,4,$C_Graph);
1859 $XPos = $XPos + $this->DivisionWidth;
1861 $aPoints[] = $LayerWidth - $this->GAreaXOffset;
1866 …$C_Graph = $this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$Col…
1867 imagefilledpolygon($this->Layers[0],$aPoints,$PointsCount,$C_Graph);
1870 …imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$La…
1871 imagedestroy($this->Layers[0]);
1873 $this->drawLineGraph($Data,$DataDescription,$ColName);
1881 $this->validateDataDescription("drawOverlayBarGraph",$DataDescription);
1882 $this->validateData("drawOverlayBarGraph",$Data);
1884 $LayerWidth = $this->GArea_X2-$this->GArea_X1;
1885 $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
1894 $this->Layers[$GraphID] = imagecreatetruecolor($LayerWidth,$LayerHeight);
1895 $C_White = $this->AllocateColor($this->Layers[$GraphID],255,255,255);
1896 …aph = $this->AllocateColor($this->Layers[$GraphID],$this->Palette[$GraphID]["R"],$t…
1897 imagefilledrectangle($this->Layers[$GraphID],0,0,$LayerWidth,$LayerHeight,$C_White);
1898 imagecolortransparent($this->Layers[$GraphID],$C_White);
1900 $XWidth = $this->DivisionWidth / 4;
1901 $XPos = $this->GAreaXOffset;
1902 $YZero = $LayerHeight - ((0-$this->VMin) * $this->DivisionRatio);
1911 $YPos = $LayerHeight - (($Value-$this->VMin) * $this->DivisionRatio);
1913 … imagefilledrectangle($this->Layers[$GraphID],$XPos-$XWidth,$YPos,$XPos+$XWidth,$YZero,$C_Graph);
1915 … $X1 = floor($XPos - $XWidth + $this->GArea_X1); $Y1 = floor($YPos+$this->GArea_Y1) + .2;
1916 …$X2 = floor($XPos + $XWidth + $this->GArea_X1); $Y2 = $this->GArea_Y2 - ((0-$this->VMin) * $this->…
1917 if ( $X1 <= $this->GArea_X1 ) { $X1 = $this->GArea_X1 + 1; }
1918 if ( $X2 >= $this->GArea_X2 ) { $X2 = $this->GArea_X2 - 1; }
1921 if ( $this->BuildMap )
1922 …$this->addToImageMap($X1,min($Y1,$Y2),$X2,max($Y1,$Y2),$DataDescription["Description"][$ColName],$…
1924 …$this->drawLine($X1,$Y1,$X2,$Y1,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this-…
1927 $XPos = $XPos + $this->DivisionWidth;
1935 …imagecopymerge($this->Picture,$this->Layers[$i],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$L…
1936 imagedestroy($this->Layers[$i]);
1944 $this->validateDataDescription("drawBarGraph",$DataDescription);
1945 $this->validateData("drawBarGraph",$Data);
1949 $SeriesWidth = $this->DivisionWidth / ($Series+1);
1950 $SerieXOffset = $this->DivisionWidth / 2 - $SeriesWidth / 2;
1952 $YZero = $this->GArea_Y2 - ((0-$this->VMin) * $this->DivisionRatio);
1953 if ( $YZero > $this->GArea_Y2 ) { $YZero = $this->GArea_Y2; }
1962 $XPos = $this->GArea_X1 + $this->GAreaXOffset - $SerieXOffset + $SeriesWidth * $SerieID;
1971 $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
1974 if ( $this->BuildMap )
1976 …$this->addToImageMap($XPos+1,min($YZero,$YPos),$XPos+$SeriesWidth-1,max($YZero,$YPos),$DataDescrip…
1980 $this->drawRectangle($XPos+1,$YZero,$XPos+$SeriesWidth-1,$YPos,25,25,25,TRUE,$Alpha);
1982 …$this->drawFilledRectangle($XPos+1,$YZero,$XPos+$SeriesWidth-1,$YPos,$this->Palette[$ColorID]["R"]…
1985 $XPos = $XPos + $this->DivisionWidth;
1995 $this->validateDataDescription("drawBarGraph",$DataDescription);
1996 $this->validateData("drawBarGraph",$Data);
2001 $SeriesWidth = $this->DivisionWidth;
2003 $SeriesWidth = $this->DivisionWidth * .8;
2005 $YZero = $this->GArea_Y2 - ((0-$this->VMin) * $this->DivisionRatio);
2006 if ( $YZero > $this->GArea_Y2 ) { $YZero = $this->GArea_Y2; }
2015 $XPos = $this->GArea_X1 + $this->GAreaXOffset - $SeriesWidth / 2;
2027 … $YPos = $this->GArea_Y2 - ((($Value+$LastValue[$Key])-$this->VMin) * $this->DivisionRatio);
2028 $YBottom = $this->GArea_Y2 - (($LastValue[$Key]-$this->VMin) * $this->DivisionRatio);
2033 $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
2039 if ( $this->BuildMap )
2040 …$this->addToImageMap($XPos+1,min($YBottom,$YPos),$XPos+$SeriesWidth-1,max($YBottom,$YPos),$DataDes…
2042 …$this->drawFilledRectangle($XPos+1,$YBottom,$XPos+$SeriesWidth-1,$YPos,$this->Palette[$ColorID]["R…
2045 $XPos = $XPos + $this->DivisionWidth;
2055 $this->validateDataDescription("drawLimitsGraph",$DataDescription);
2056 $this->validateData("drawLimitsGraph",$Data);
2058 $XWidth = $this->DivisionWidth / 4;
2059 $XPos = $this->GArea_X1 + $this->GAreaXOffset;
2081 $YPos = $this->GArea_Y2 - (($Max-$this->VMin) * $this->DivisionRatio);
2084 if ( $X1 <= $this->GArea_X1 ) { $X1 = $this->GArea_X1 + 1; }
2085 if ( $X2 >= $this->GArea_X2 ) { $X2 = $this->GArea_X2 - 1; }
2087 $YPos = $this->GArea_Y2 - (($Min-$this->VMin) * $this->DivisionRatio);
2090 $this->drawLine(floor($XPos)-.2,$Y1+1,floor($XPos)-.2,$Y2-1,$R,$G,$B,TRUE);
2091 $this->drawLine(floor($XPos)+.2,$Y1+1,floor($XPos)+.2,$Y2-1,$R,$G,$B,TRUE);
2092 …$this->drawLine($X1,$Y1,$X2,$Y1,$this->Palette[$MaxID]["R"],$this->Palette[$MaxID]["G"],$this->Pal…
2093 …$this->drawLine($X1,$Y2,$X2,$Y2,$this->Palette[$MinID]["R"],$this->Palette[$MinID]["G"],$this->Pal…
2095 $XPos = $XPos + $this->DivisionWidth;
2103 $this->validateDataDescription("drawRadarAxis",$DataDescription);
2104 $this->validateData("drawRadarAxis",$Data);
2106 $C_TextColor = $this->AllocateColor($this->Picture,$A_R,$A_G,$A_B);
2110 $Radius = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 - $BorderOffset;
2111 $XCenter = ( $this->GArea_X2 - $this->GArea_X1 ) / 2 + $this->GArea_X1;
2112 $YCenter = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 + $this->GArea_Y1;
2152 $C_Graph = $this->AllocateColor($this->Picture,250,250,250);
2153 imagefilledpolygon($this->Picture,$Plots,(count($Plots)+1)/2,$C_Graph);
2176 $this->drawDottedLine($LastX,$LastY,$X,$Y,4,$S_R,$S_G,$S_B);
2189 $this->drawLine($XCenter,$YCenter,$X,$Y,$A_R,$A_G,$A_B);
2196 $Positions = imagettfbbox($this->FontSize,0,$this->FontName,$Label);
2209 …imagettftext($this->Picture,$this->FontSize,0,$X+$XOffset,$Y+$YOffset,$C_TextColor,$this->FontName…
2227 $Positions = imagettfbbox($this->FontSize,0,$this->FontName,$t);
2229 $Y = $YPos + $this->FontSize;
2231 …$this->drawFilledRoundedRectangle($X+$Positions[6]-2,$Y+$Positions[7]-1,$X+$Positions[2]+4,$Y+$Pos…
2232 …$this->drawRoundedRectangle($X+$Positions[6]-2,$Y+$Positions[7]-1,$X+$Positions[2]+4,$Y+$Positions…
2233 imagettftext($this->Picture,$this->FontSize,0,$X,$Y,$C_TextColor,$this->FontName,$t);
2241 $this->validateDataDescription("drawRadar",$DataDescription);
2242 $this->validateData("drawRadar",$Data);
2245 $Radius = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 - $BorderOffset;
2246 $XCenter = ( $this->GArea_X2 - $this->GArea_X1 ) / 2 + $this->GArea_X1;
2247 $YCenter = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 + $this->GArea_Y1;
2282 …$this->drawLine($XLast,$YLast,$XPos,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["…
2292 …$this->drawLine($XPos,$YPos,$FirstX,$FirstY,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]…
2301 $this->validateDataDescription("drawFilledRadar",$DataDescription);
2302 $this->validateData("drawFilledRadar",$Data);
2305 $LayerWidth = $this->GArea_X2-$this->GArea_X1;
2306 $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
2307 $Radius = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 - $BorderOffset;
2308 $XCenter = ( $this->GArea_X2 - $this->GArea_X1 ) / 2;
2309 $YCenter = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2;
2359 $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
2360 $C_White = $this->AllocateColor($this->Layers[0],255,255,255);
2361 imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
2362 imagecolortransparent($this->Layers[0],$C_White);
2364 …$C_Graph = $this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$Col…
2365 imagefilledpolygon($this->Layers[0],$Plots,(count($Plots)+1)/2,$C_Graph);
2367 …imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$La…
2368 imagedestroy($this->Layers[0]);
2371this->drawLine($Plots[$i]+$this->GArea_X1,$Plots[$i+1]+$this->GArea_Y1,$Plots[$i+2]+$this->GArea_X…
2382 $this->validateDataDescription("drawBasicPieGraph",$DataDescription,FALSE);
2383 $this->validateData("drawBasicPieGraph",$Data);
2428 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Caption);
2442 $C_TextColor = $this->AllocateColor($this->Picture,70,70,70);
2443 … imagettftext($this->Picture,$this->FontSize,0,$TX,$TY,$C_TextColor,$this->FontName,$Caption);
2470 …$C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G…
2471 imagefilledpolygon($this->Picture,$PolyPlots[$Key],(count($PolyPlots[$Key])+1)/2,$C_GraphLo);
2474 $this->drawCircle($XPos-.5,$YPos-.5,$Radius,$R,$G,$B);
2475 $this->drawCircle($XPos-.5,$YPos-.5,$Radius+.5,$R,$G,$B);
2481 …$this->drawLine($TopPlots[$Key][$j],$TopPlots[$Key][$j+1],$TopPlots[$Key][$j+2],$TopPlots[$Key][$j…
2487 …$this->drawFlatPieGraph($Data,$DataDescription,$XPos+$this->ShadowXDistance,$YPos+$this->ShadowYDi…
2488 …$this->drawFlatPieGraph($Data,$DataDescription,$XPos,$YPos,$Radius,$DrawLabels,$SpliceDistance,$De…
2495 $this->validateDataDescription("drawFlatPieGraph",$DataDescription,FALSE);
2496 $this->validateData("drawFlatPieGraph",$Data);
2498 $ShadowStatus = $this->ShadowActive ; $this->ShadowActive = FALSE;
2536 { $Rc = $this->ShadowRColor; $Gc = $this->ShadowGColor; $Bc = $this->ShadowBColor; }
2538 …{ $Rc = $this->Palette[$Key]["R"]; $Gc = $this->Palette[$Key]["G"]; $Bc = $this->Palette[$Key]["B"…
2556 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Caption);
2570 $C_TextColor = $this->AllocateColor($this->Picture,70,70,70);
2571 … imagettftext($this->Picture,$this->FontSize,0,$TX,$TY,$C_TextColor,$this->FontName,$Caption);
2576 $LineColor = $this->AllocateColor($this->Picture,$Rc,$Gc,$Bc);
2578 $LineColor = $this->AllocateColor($this->Picture,$Rc,$Gc,$Bc);
2589 $this->drawLine($XPos+$XOffset,$YPos+$YOffset,$PosX,$PosY,$Rc,$Gc,$Bc);
2592 $this->drawLine($XLineLast,$YLineLast,$PosX,$PosY,$Rc,$Gc,$Bc);
2607 …$C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G…
2609 …$C_GraphLo = $this->AllocateColor($this->Picture,$this->ShadowRColor,$this->ShadowGColor,$this->Sh…
2611 imagefilledpolygon($this->Picture,$PolyPlots[$Key],(count($PolyPlots[$Key])+1)/2,$C_GraphLo);
2613 $this->ShadowActive = $ShadowStatus;
2620 $this->validateDataDescription("drawPieGraph",$DataDescription,FALSE);
2621 $this->validateData("drawPieGraph",$Data);
2680 $Position = imageftbbox($this->FontSize,0,$this->FontName,$Caption);
2694 $C_TextColor = $this->AllocateColor($this->Picture,70,70,70);
2695 … imagettftext($this->Picture,$this->FontSize,0,$TX,$TY,$C_TextColor,$this->FontName,$Caption);
2721 …$C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G…
2722 imagefilledpolygon($this->Picture,$BotPlots[$Key],(count($BotPlots[$Key])+1)/2,$C_GraphLo);
2727this->drawLine($aBotPlots[$Key][$j],$aBotPlots[$Key][$j+1],$aBotPlots[$Key][$j+2],$aBotPlots[$Key]…
2736 …$C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G…
2746 imagefilledpolygon($this->Picture,$Plots,(count($Plots)+1)/2,$C_GraphLo);
2751 …$this->drawAntialiasPixel($Plots[0],$Plots[1],$this->Palette[$Key]["R"]+$ColorFactor,$this->Palett…
2752 …$this->drawAntialiasPixel($Plots[2],$Plots[3],$this->Palette[$Key]["R"]+$ColorFactor,$this->Palett…
2753 …$this->drawAntialiasPixel($Plots[$Index-4],$Plots[$Index-3],$this->Palette[$Key]["R"]+$ColorFactor…
2760 …$C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G…
2761 imagefilledpolygon($this->Picture,$TopPlots[$Key],(count($TopPlots[$Key])+1)/2,$C_GraphLo);
2765this->drawLine($aTopPlots[$Key][$j],$aTopPlots[$Key][$j+1],$aTopPlots[$Key][$j+2],$aTopPlots[$Key]…
2776 $C_Background = $this->AllocateColor($this->Picture,$R,$G,$B);
2777 imagefilledrectangle($this->Picture,0,0,$this->XSize,$this->YSize,$C_Background);
2787 …rget == TARGET_GRAPHAREA ) { $X1 = $this->GArea_X1+1; $X2 = $this->GArea_X2-1; $Y1 = $this->GArea…
2788 … if ( $Target == TARGET_BACKGROUND ) { $X1 = 0; $X2 = $this->XSize; $Y1 = 0; $Y2 = $this->YSize; }
2801 $C_Background = $this->AllocateColor($this->Picture,$R,$G,$B);
2802 imagefilledrectangle($this->Picture,$X1,$Yi1,$X2,$Yi2,$C_Background);
2814 $C_Background = $this->AllocateColor($this->Picture,$R,$G,$B);
2815 imagefilledrectangle($this->Picture,$X1,$Yi1,$X2,$Yi2,$C_Background);
2831 $C_Rectangle = $this->AllocateColor($this->Picture,$R,$G,$B);
2835 $this->drawLine($X1,$Y1,$X2,$Y1,$R,$G,$B);
2836 $this->drawLine($X2,$Y1,$X2,$Y2,$R,$G,$B);
2837 $this->drawLine($X2,$Y2,$X1,$Y2,$R,$G,$B);
2838 $this->drawLine($X1,$Y2,$X1,$Y1,$R,$G,$B);
2854 if ( $this->ShadowActive && !$NoFallBack )
2856this->drawFilledRectangle($X1+$this->ShadowXDistance,$Y1+$this->ShadowYDistance,$X2+$this->ShadowX…
2857 if ( $this->ShadowBlur != 0 )
2859 $AlphaDecay = ($this->ShadowAlpha / $this->ShadowBlur);
2861 for($i=1; $i<=$this->ShadowBlur; $i++)
2862this->drawFilledRectangle($X1+$this->ShadowXDistance-$i/2,$Y1+$this->ShadowYDistance-$i/2,$X2+$thi…
2863 for($i=1; $i<=$this->ShadowBlur; $i++)
2864this->drawFilledRectangle($X1+$this->ShadowXDistance+$i/2,$Y1+$this->ShadowYDistance+$i/2,$X2+$thi…
2868 $C_Rectangle = $this->AllocateColor($this->Picture,$R,$G,$B);
2869 … imagefilledrectangle($this->Picture,round($X1),round($Y1),round($X2),round($Y2),$C_Rectangle);
2876 $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
2877 $C_White = $this->AllocateColor($this->Layers[0],255,255,255);
2878 imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
2879 imagecolortransparent($this->Layers[0],$C_White);
2881 $C_Rectangle = $this->AllocateColor($this->Layers[0],$R,$G,$B);
2882 …imagefilledrectangle($this->Layers[0],round(1),round(1),round($LayerWidth-1),round($LayerHeight-1)…
2884 …imagecopymerge($this->Picture,$this->Layers[0],round(min($X1,$X2)-1),round(min($Y1,$Y2)-1),0,0,$La…
2885 imagedestroy($this->Layers[0]);
2890 $ShadowSettings = $this->ShadowActive; $this->ShadowActive = FALSE;
2891 $this->drawRectangle($X1,$Y1,$X2,$Y2,$R,$G,$B);
2892 $this->ShadowActive = $ShadowSettings;
2903 $C_Rectangle = $this->AllocateColor($this->Picture,$R,$G,$B);
2911 $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
2915 $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
2919 $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
2923 $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
2928 $this->drawLine($X1+$Radius,$Y1,$X2-$Radius,$Y1,$R,$G,$B);
2929 $this->drawLine($X2,$Y1+$Radius,$X2,$Y2-$Radius,$R,$G,$B);
2930 $this->drawLine($X2-$Radius,$Y2,$X1+$Radius,$Y2,$R,$G,$B);
2931 $this->drawLine($X1,$Y2-$Radius,$X1,$Y1+$Radius,$R,$G,$B);
2941 $C_Rectangle = $this->AllocateColor($this->Picture,$R,$G,$B);
2959 imageline($this->Picture,$Xi1,$Yi1,$X1+$Radius,$Yi1,$C_Rectangle);
2960 imageline($this->Picture,$X2-$Radius,$Yi2,$Xi2,$Yi2,$C_Rectangle);
2961 imageline($this->Picture,$X2-$Radius,$Yi3,$Xi3,$Yi3,$C_Rectangle);
2962 imageline($this->Picture,$Xi4,$Yi4,$X1+$Radius,$Yi4,$C_Rectangle);
2964 $this->drawAntialiasPixel($Xi1,$Yi1,$R,$G,$B);
2965 $this->drawAntialiasPixel($Xi2,$Yi2,$R,$G,$B);
2966 $this->drawAntialiasPixel($Xi3,$Yi3,$R,$G,$B);
2967 $this->drawAntialiasPixel($Xi4,$Yi4,$R,$G,$B);
2970 imagefilledrectangle($this->Picture,$X1,$Y1+$Radius,$X2,$Y2-$Radius,$C_Rectangle);
2971 imagefilledrectangle($this->Picture,$X1+$Radius,$Y1,$X2-$Radius,$Y2,$C_Rectangle);
2975 $this->drawLine($X1+$Radius,$Y1,$X2-$Radius,$Y1,$R,$G,$B);
2976 $this->drawLine($X2,$Y1+$Radius,$X2,$Y2-$Radius,$R,$G,$B);
2977 $this->drawLine($X2-$Radius,$Y2,$X1+$Radius,$Y2,$R,$G,$B);
2978 $this->drawLine($X1,$Y2-$Radius,$X1,$Y1+$Radius,$R,$G,$B);
2989 $C_Circle = $this->AllocateColor($this->Picture,$R,$G,$B);
2996 $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
3008 $C_Circle = $this->AllocateColor($this->Picture,$R,$G,$B);
3018 $this->drawAntialiasPixel($X1-1,$Y1-1,$R,$G,$B);
3019 $this->drawAntialiasPixel($X2-1,$Y2-1,$R,$G,$B);
3022 imageline($this->Picture,$X1,$Y1-1,$X2-1,$Y2-1,$C_Circle);
3028 { $this->drawCircle($Xc,$Yc,$Height,$R,$G,$B,$Width); }
3032 { $this->drawFilledCircle($Xc,$Yc,$Height,$R,$G,$B,$Width); }
3037 …if ( $this->LineDotSize > 1 ) { $this->drawDottedLine($X1,$Y1,$X2,$Y2,$this->LineDotSize,$R,$G,$B,…
3053 …if ( ($X >= $this->GArea_X1 && $X <= $this->GArea_X2 && $Y >= $this->GArea_Y1 && $Y <= $this->GAre…
3055 if ( $this->LineWidth == 1 )
3056 $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
3059 $StartOffset = -($this->LineWidth/2); $EndOffset = ($this->LineWidth/2);
3061 $this->drawAntialiasPixel($X+$j,$Y+$j,$R,$G,$B);
3087 …if ( ($X >= $this->GArea_X1 && $X <= $this->GArea_X2 && $Y >= $this->GArea_Y1 && $Y <= $this->GAre…
3089 if ( $this->LineWidth == 1 )
3090 $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
3093 $StartOffset = -($this->LineWidth/2); $EndOffset = ($this->LineWidth/2);
3095 $this->drawAntialiasPixel($X+$j,$Y+$j,$R,$G,$B);
3108 { $this->drawFromPicture(1,$FileName,$X,$Y,$Alpha); }
3112 { $this->drawFromPicture(2,$FileName,$X,$Y,$Alpha); }
3116 { $this->drawFromPicture(3,$FileName,$X,$Y,$Alpha); }
3130 imagecopymerge($this->Picture,$Raster,$X,$Y,0,0,$Width,$Height,$Alpha);
3142 if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
3145 $RGB2 = imagecolorat($this->Picture, $X, $Y);
3157 $C_Aliased = $this->AllocateColor($this->Picture,$Ra,$Ga,$Ba);
3158 imagesetpixel($this->Picture,$X,$Y,$C_Aliased);
3177 $Width = $this->XSize+2*$Size;
3178 $Height = $this->YSize+2*$Size;
3181 $C_Background = $this->AllocateColor($Resampled,$R,$G,$B);
3184 imagecopy($Resampled,$this->Picture,$Size,$Size,0,0,$this->XSize,$this->YSize);
3185 imagedestroy($this->Picture);
3187 $this->XSize = $Width;
3188 $this->YSize = $Height;
3190 $this->Picture = imagecreatetruecolor($this->XSize,$this->YSize);
3191 $C_White = $this->AllocateColor($this->Picture,255,255,255);
3192 imagefilledrectangle($this->Picture,0,0,$this->XSize,$this->YSize,$C_White);
3193 imagecolortransparent($this->Picture,$C_White);
3194 imagecopy($this->Picture,$Resampled,0,0,0,0,$this->XSize,$this->YSize);
3200 if ( $this->ErrorReporting )
3201 $this->printErrors($this->ErrorInterface);
3204 if ( $this->BuildMap )
3205 $this->SaveImageMap();
3207 imagepng($this->Picture,$FileName);
3213 if ( $this->ErrorReporting )
3214 $this->printErrors("GD");
3217 if ( $this->BuildMap )
3218 $this->SaveImageMap();
3221 imagepng($this->Picture);
3228 if ( $this->ShadowActive && !$NoFallBack )
3230 …$this->drawAntialiasPixel($X+$this->ShadowXDistance,$Y+$this->ShadowYDistance,$this->ShadowRColor,…
3231 if ( $this->ShadowBlur != 0 )
3233 $AlphaDecay = ($this->ShadowAlpha / $this->ShadowBlur);
3235 for($i=1; $i<=$this->ShadowBlur; $i++)
3236this->drawAntialiasPixel($X+$this->ShadowXDistance-$i/2,$Y+$this->ShadowYDistance-$i/2,$this->Shad…
3237 for($i=1; $i<=$this->ShadowBlur; $i++)
3238this->drawAntialiasPixel($X+$this->ShadowXDistance+$i/2,$Y+$this->ShadowYDistance+$i/2,$this->Shad…
3254 $C_Aliased = $this->AllocateColor($this->Picture,$R,$G,$B);
3255 imagesetpixel($this->Picture,$X,$Y,$C_Aliased);
3258 $this->drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B);
3263 if ( $Alpha1 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi,$Alpha1,$R,$G,$B); }
3266 … if ( $Alpha2 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi,$Alpha2,$R,$G,$B); }
3269 … if ( $Alpha3 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi+1,$Alpha3,$R,$G,$B); }
3272 … if ( $Alpha4 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi+1,$Alpha4,$R,$G,$B); }
3281 $this->Errors[] = "[Warning] ".$FunctionName." - Y Labels are not set.";
3289 $this->Errors[] = "[Warning] ".$FunctionName." - Series descriptions are not set.";
3298 $this->Errors[] = "[Warning] ".$FunctionName." - Some series descriptions are not set.";
3325 $this->Errors[] = "[Warning] ".$FunctionName." - No data set.";
3331 $this->Errors[] = "[Warning] ".$FunctionName." - Missing data in serie ".$key.".";
3339 if (count($this->Errors) == 0)
3344 foreach($this->Errors as $key => $Value)
3349 $this->setLineStyle($Width=1);
3351 foreach($this->Errors as $key => $Value)
3353 $Position = imageftbbox($this->ErrorFontSize,0,$this->ErrorFontName,$Value);
3357 …$this->drawFilledRoundedRectangle($this->XSize-($MaxWidth+20),$this->YSize-(20+(($this->ErrorFontS…
3358 …$this->drawRoundedRectangle($this->XSize-($MaxWidth+20),$this->YSize-(20+(($this->ErrorFontSize+4)…
3360 $C_TextColor = $this->AllocateColor($this->Picture,133,85,85);
3361 $YPos = $this->YSize - (18 + (count($this->Errors)-1) * ($this->ErrorFontSize + 4));
3362 foreach($this->Errors as $key => $Value)
3364 …imagettftext($this->Picture,$this->ErrorFontSize,0,$this->XSize-($MaxWidth+15),$YPos,$C_TextColor,…
3365 $YPos = $YPos + ($this->ErrorFontSize + 4);
3373 $this->BuildMap = $Mode;
3374 $this->MapID = $GraphID;
3380 if ( $this->MapFunction == NULL || $this->MapFunction == $CallerFunction )
3382 …$this->ImageMap[] = round($X1).",".round($Y1).",".round($X2).",".round($Y2).",".$SerieName.",".$V…
3383 $this->MapFunction = $CallerFunction;
3391 $Values = $this->tmpFolder.$MapName;
3417 if ( !$this->BuildMap ) { return(-1); }
3419 if ( $this->ImageMap == NULL )
3421 $this->Errors[] = "[Warning] SaveImageMap - Image map is empty.";
3425 $Handle = fopen($this->tmpFolder.$this->MapID, 'w');
3428 $this->Errors[] = "[Warning] SaveImageMap - Cannot save the image map.";
3433 foreach($this->ImageMap as $Key => $Value)
3483 $ResultString = $this->Currency.$ResultString;
3490 $this->DateFormat = $Format;
3496 return(date($this->DateFormat,$Value));