CODE STYLE class.pmGauge.php
This commit is contained in:
@@ -1,238 +1,246 @@
|
|||||||
<?php
|
<?php
|
||||||
class pmGauge {
|
|
||||||
/**
|
class pmGauge
|
||||||
width
|
{
|
||||||
*/
|
/**
|
||||||
var $w = 610;
|
* width
|
||||||
|
*/
|
||||||
/**
|
var $w = 610;
|
||||||
height
|
|
||||||
*/
|
/**
|
||||||
var $h = 300;
|
* height
|
||||||
|
*/
|
||||||
/**
|
var $h = 300;
|
||||||
value of gauge
|
|
||||||
*/
|
/**
|
||||||
var $value = 50;
|
* value of gauge
|
||||||
|
*/
|
||||||
/**
|
var $value = 50;
|
||||||
maxValue
|
|
||||||
*/
|
/**
|
||||||
var $maxValue = 100;
|
* maxValue
|
||||||
|
*/
|
||||||
/**
|
var $maxValue = 100;
|
||||||
redFrom
|
|
||||||
*/
|
/**
|
||||||
var $redFrom = 80;
|
* redFrom
|
||||||
|
*/
|
||||||
/**
|
var $redFrom = 80;
|
||||||
redTo
|
|
||||||
*/
|
/**
|
||||||
var $redTo = 100;
|
* redTo
|
||||||
|
*/
|
||||||
/**
|
var $redTo = 100;
|
||||||
yellowFrom
|
|
||||||
*/
|
/**
|
||||||
var $yellowFrom = 60;
|
* yellowFrom
|
||||||
|
*/
|
||||||
/**
|
var $yellowFrom = 60;
|
||||||
yellowTo
|
|
||||||
*/
|
/**
|
||||||
var $yellowTo = 80;
|
* yellowTo
|
||||||
|
*/
|
||||||
/**
|
var $yellowTo = 80;
|
||||||
greenFrom
|
|
||||||
*/
|
/**
|
||||||
var $greenFrom = 0;
|
* greenFrom
|
||||||
|
*/
|
||||||
/**
|
var $greenFrom = 0;
|
||||||
greenTo
|
|
||||||
*/
|
/**
|
||||||
var $greenTo = 60;
|
* greenTo
|
||||||
|
*/
|
||||||
/**
|
var $greenTo = 60;
|
||||||
centerLabel, the label in the middle of the gauge
|
|
||||||
*/
|
/**
|
||||||
var $centerLabel = '';
|
* centerLabel, the label in the middle of the gauge
|
||||||
|
*/
|
||||||
function render () {
|
var $centerLabel = '';
|
||||||
$this->h = $this->w / 2;
|
|
||||||
$im = imagecreatetruecolor($this->w, $this->h);
|
function render ()
|
||||||
$width = $this->w;
|
{
|
||||||
$height = $this->h;
|
$this->h = $this->w / 2;
|
||||||
$center_x = intval($width / 2);
|
$im = imagecreatetruecolor( $this->w, $this->h );
|
||||||
$center_y = intval($height / 2);
|
$width = $this->w;
|
||||||
|
$height = $this->h;
|
||||||
//gauge color
|
$center_x = intval( $width / 2 );
|
||||||
$bgcolor = ImageColorAllocate($im, 247, 247, 247);
|
$center_y = intval( $height / 2 );
|
||||||
$extRing = ImageColorAllocate($im, 214, 214, 214);
|
|
||||||
$blueRing = ImageColorAllocate($im, 70, 132, 238);
|
//gauge color
|
||||||
$blueRingLine = ImageColorAllocate($im, 106, 114, 127);
|
$bgcolor = ImageColorAllocate( $im, 247, 247, 247 );
|
||||||
$arrowBody = ImageColorAllocate($im, 228, 114, 86);
|
$extRing = ImageColorAllocate( $im, 214, 214, 214 );
|
||||||
$arrowLine = ImageColorAllocate($im, 207, 74, 42);
|
$blueRing = ImageColorAllocate( $im, 70, 132, 238 );
|
||||||
$redArc = ImageColorAllocate($im, 220, 57, 18);
|
$blueRingLine = ImageColorAllocate( $im, 106, 114, 127 );
|
||||||
$yellowArc = ImageColorAllocate($im, 255, 153, 0);
|
$arrowBody = ImageColorAllocate( $im, 228, 114, 86 );
|
||||||
|
$arrowLine = ImageColorAllocate( $im, 207, 74, 42 );
|
||||||
$black = ImageColorAllocate($im, 0,0,0);
|
$redArc = ImageColorAllocate( $im, 220, 57, 18 );
|
||||||
$white = ImageColorAllocate($im, 255, 255, 255);
|
$yellowArc = ImageColorAllocate( $im, 255, 153, 0 );
|
||||||
$gray = ImageColorAllocate($im, 190, 190, 190);
|
|
||||||
|
$black = ImageColorAllocate( $im, 0, 0, 0 );
|
||||||
$fontArial = PATH_THIRDPARTY . 'html2ps_pdf/fonts/arial.ttf';
|
$white = ImageColorAllocate( $im, 255, 255, 255 );
|
||||||
|
$gray = ImageColorAllocate( $im, 190, 190, 190 );
|
||||||
ImageFilledRectangle($im, 0, 0, $width-1, $height-1, $white);
|
|
||||||
ImageRectangle ($im, 0, 0, $width-1, $height-1, $gray);
|
$fontArial = PATH_THIRDPARTY . 'html2ps_pdf/fonts/arial.ttf';
|
||||||
|
|
||||||
|
ImageFilledRectangle( $im, 0, 0, $width - 1, $height - 1, $white );
|
||||||
|
ImageRectangle( $im, 0, 0, $width - 1, $height - 1, $gray );
|
||||||
|
|
||||||
|
//center coords
|
||||||
|
$cX = intval( $this->w / 2 );
|
||||||
|
//$cX = intval($this->w /4);
|
||||||
|
$cY = intval( $this->h / 2 );
|
||||||
|
|
||||||
|
//diameter for gauge
|
||||||
|
$diameter = intval( $this->h * 4 / 5 );
|
||||||
|
|
||||||
|
$this->renderGauge( $im, $cX, $cY, $diameter );
|
||||||
|
|
||||||
|
/*
|
||||||
//center coords
|
//center coords
|
||||||
$cX = intval($this->w /2);
|
$cX = intval($this->w * 3/4);
|
||||||
//$cX = intval($this->w /4);
|
$cY = intval($this->h /2);
|
||||||
$cY = intval($this->h /2);
|
|
||||||
|
|
||||||
//diameter for gauge
|
//diameter for gauge
|
||||||
$diameter = intval( $this->h * 4/5 );
|
$diameter = intval( $this->h * 4/5 );
|
||||||
|
|
||||||
$this->renderGauge($im, $cX, $cY, $diameter);
|
$this->renderGauge($im, $cX, $cY, $diameter);
|
||||||
|
*/
|
||||||
/*
|
Header( "Content-type: image/png" );
|
||||||
//center coords
|
ImagePng( $im );
|
||||||
$cX = intval($this->w * 3/4);
|
|
||||||
$cY = intval($this->h /2);
|
}
|
||||||
|
|
||||||
//diameter for gauge
|
function renderGauge ($im, $cX, $cY, $diameter)
|
||||||
$diameter = intval( $this->h * 4/5 );
|
{
|
||||||
|
//gauge color
|
||||||
$this->renderGauge($im, $cX, $cY, $diameter);
|
$bgcolor = ImageColorAllocate( $im, 247, 247, 247 );
|
||||||
*/
|
$extRing = ImageColorAllocate( $im, 214, 214, 214 );
|
||||||
Header("Content-type: image/png");
|
$blueRing = ImageColorAllocate( $im, 70, 132, 238 );
|
||||||
ImagePng($im);
|
$blueRingLine = ImageColorAllocate( $im, 106, 114, 127 );
|
||||||
|
$arrowBody = ImageColorAllocate( $im, 228, 114, 86 );
|
||||||
}
|
$arrowLine = ImageColorAllocate( $im, 207, 74, 42 );
|
||||||
|
$redArc = ImageColorAllocate( $im, 220, 57, 18 );
|
||||||
function renderGauge($im, $cX, $cY, $diameter) {
|
$yellowArc = ImageColorAllocate( $im, 255, 153, 0 );
|
||||||
//gauge color
|
$greenArc = ImageColorAllocate( $im, 0, 136, 0 );
|
||||||
$bgcolor = ImageColorAllocate($im, 247, 247, 247);
|
|
||||||
$extRing = ImageColorAllocate($im, 214, 214, 214);
|
$black = ImageColorAllocate( $im, 0, 0, 0 );
|
||||||
$blueRing = ImageColorAllocate($im, 70, 132, 238);
|
$white = ImageColorAllocate( $im, 255, 255, 255 );
|
||||||
$blueRingLine = ImageColorAllocate($im, 106, 114, 127);
|
$gray = ImageColorAllocate( $im, 190, 190, 190 );
|
||||||
$arrowBody = ImageColorAllocate($im, 228, 114, 86);
|
|
||||||
$arrowLine = ImageColorAllocate($im, 207, 74, 42);
|
$fontArial = PATH_THIRDPARTY . 'html2ps_pdf/fonts/arial.ttf';
|
||||||
$redArc = ImageColorAllocate($im, 220, 57, 18);
|
|
||||||
$yellowArc = ImageColorAllocate($im, 255, 153, 0);
|
$dX = intval( $diameter * 8 / 7 ); //for now ratio aspect is 8:7
|
||||||
$greenArc = ImageColorAllocate($im, 0, 136, 0);
|
$dY = intval( $diameter );
|
||||||
|
$dXRing = intval( $dX * 0.90 );
|
||||||
$black = ImageColorAllocate($im, 0,0,0);
|
$dYRing = intval( $dY * 0.90 );
|
||||||
$white = ImageColorAllocate($im, 255, 255, 255);
|
|
||||||
$gray = ImageColorAllocate($im, 190, 190, 190);
|
$dXRingColor = intval( $dX * 0.86 );
|
||||||
|
$dYRingColor = intval( $dY * 0.86 );
|
||||||
$fontArial = PATH_THIRDPARTY . 'html2ps_pdf/fonts/arial.ttf';
|
|
||||||
|
$dXRingCenter = intval( $dX * 0.66 );
|
||||||
$dX = intval($diameter *8/7 ); //for now ratio aspect is 8:7
|
$dYRingCenter = intval( $dY * 0.66 );
|
||||||
$dY = intval($diameter);
|
|
||||||
$dXRing = intval($dX * 0.90);
|
imagefilledellipse( $im, $cX, $cY, $dX, $dY, $extRing );
|
||||||
$dYRing = intval($dY * 0.90);
|
|
||||||
|
imagefilledellipse( $im, $cX, $cY, $dXRing, $dYRing, $bgcolor );
|
||||||
$dXRingColor = intval($dX * 0.86);
|
|
||||||
$dYRingColor = intval($dY * 0.86);
|
//drawing the red arc
|
||||||
|
if ($this->redFrom > $this->maxValue)
|
||||||
$dXRingCenter = intval($dX * 0.66);
|
$this->redFrom = $this->maxValue;
|
||||||
$dYRingCenter = intval($dY * 0.66);
|
if ($this->redTo > $this->maxValue)
|
||||||
|
$this->redTo = $this->maxValue;
|
||||||
imagefilledellipse($im, $cX, $cY, $dX, $dY, $extRing);
|
if ($this->yellowFrom > $this->maxValue)
|
||||||
|
$this->yellowFrom = $this->maxValue;
|
||||||
imagefilledellipse($im, $cX, $cY, $dXRing, $dYRing, $bgcolor);
|
if ($this->yellowTo > $this->maxValue)
|
||||||
|
$this->yellowTo = $this->maxValue;
|
||||||
//drawing the red arc
|
if ($this->greenFrom > $this->maxValue)
|
||||||
if ( $this->redFrom > $this->maxValue ) $this->redFrom = $this->maxValue;
|
$this->greenFrom = $this->maxValue;
|
||||||
if ( $this->redTo > $this->maxValue ) $this->redTo = $this->maxValue;
|
if ($this->greenTo > $this->maxValue)
|
||||||
if ( $this->yellowFrom > $this->maxValue ) $this->yellowFrom = $this->maxValue;
|
$this->greenTo = $this->maxValue;
|
||||||
if ( $this->yellowTo > $this->maxValue ) $this->yellowTo = $this->maxValue;
|
|
||||||
if ( $this->greenFrom > $this->maxValue ) $this->greenFrom = $this->maxValue;
|
$redFrom = $this->redFrom / $this->maxValue * 300 - 240;
|
||||||
if ( $this->greenTo > $this->maxValue ) $this->greenTo = $this->maxValue;
|
$redTo = $this->redTo / $this->maxValue * 300 - 240;
|
||||||
|
$yellowFrom = $this->yellowFrom / $this->maxValue * 300 - 240;
|
||||||
$redFrom = $this->redFrom/$this->maxValue*300 - 240 ;
|
$yellowTo = $this->yellowTo / $this->maxValue * 300 - 240;
|
||||||
$redTo = $this->redTo/$this->maxValue*300 - 240;
|
$greenFrom = $this->greenFrom / $this->maxValue * 300 - 240;
|
||||||
$yellowFrom = $this->yellowFrom/$this->maxValue*300 - 240;
|
$greenTo = $this->greenTo / $this->maxValue * 300 - 240;
|
||||||
$yellowTo = $this->yellowTo/$this->maxValue*300 - 240;
|
|
||||||
$greenFrom = $this->greenFrom/$this->maxValue*300 - 240;
|
if ($this->redFrom != $this->redTo || $this->redTo != $this->maxValue) {
|
||||||
$greenTo = $this->greenTo/$this->maxValue*300 - 240;
|
imagefilledarc( $im, $cX, $cY, $dXRingColor, $dYRingColor, $redFrom, $redTo, $redArc, IMG_ARC_PIE );
|
||||||
|
}
|
||||||
if ( $this->redFrom != $this->redTo || $this->redTo != $this->maxValue ) {
|
if ($this->yellowFrom != $this->yellowTo || $this->yellowTo != $this->maxValue) {
|
||||||
imagefilledarc ($im, $cX, $cY, $dXRingColor, $dYRingColor, $redFrom, $redTo, $redArc, IMG_ARC_PIE );
|
imagefilledarc( $im, $cX, $cY, $dXRingColor, $dYRingColor, $yellowFrom, $yellowTo, $yellowArc, IMG_ARC_PIE );
|
||||||
}
|
}
|
||||||
if ( $this->yellowFrom != $this->yellowTo || $this->yellowTo != $this->maxValue ) {
|
if ($this->greenFrom != $this->greenTo || $this->greenTo != $this->maxValue) {
|
||||||
imagefilledarc ($im, $cX, $cY, $dXRingColor, $dYRingColor, $yellowFrom, $yellowTo, $yellowArc, IMG_ARC_PIE );
|
imagefilledarc( $im, $cX, $cY, $dXRingColor, $dYRingColor, $greenFrom, $greenTo, $greenArc, IMG_ARC_PIE );
|
||||||
}
|
}
|
||||||
if ( $this->greenFrom != $this->greenTo || $this->greenTo != $this->maxValue ) {
|
imagefilledellipse( $im, $cX, $cY, $dXRingCenter, $dYRingCenter, $bgcolor );
|
||||||
imagefilledarc ($im, $cX, $cY, $dXRingColor, $dYRingColor, $greenFrom, $greenTo, $greenArc, IMG_ARC_PIE );
|
|
||||||
}
|
//ticks
|
||||||
imagefilledellipse($im, $cX, $cY, $dXRingCenter, $dYRingCenter, $bgcolor);
|
$radiusX = intval( $dX * 0.42 );
|
||||||
|
$radiusY = intval( $dY * 0.42 );
|
||||||
//ticks
|
$min = 5;
|
||||||
$radiusX = intval($dX * 0.42);
|
while ($min <= 55) {
|
||||||
$radiusY = intval($dY * 0.42);
|
if ($min % 5 == 0)
|
||||||
$min = 5;
|
$len = $radiusX / 8;
|
||||||
while($min <= 55) {
|
else
|
||||||
if ($min % 5 == 0)
|
$len = $radiusX / 25;
|
||||||
$len = $radiusX / 8;
|
|
||||||
else
|
$ang = (2 * M_PI * $min) / 60;
|
||||||
$len = $radiusX / 25;
|
$x1 = sin( $ang ) * ($radiusX - $len) + $cX;
|
||||||
|
$y1 = cos( $ang ) * ($radiusY - $len) + $cY;
|
||||||
$ang = (2 * M_PI * $min) / 60;
|
$x2 = sin( $ang ) * $radiusX + $cX;
|
||||||
$x1 = sin($ang) * ($radiusX - $len) + $cX;
|
$y2 = cos( $ang ) * $radiusY + $cY;
|
||||||
$y1 = cos($ang) * ($radiusY - $len) + $cY;
|
|
||||||
$x2 = sin($ang) * $radiusX + $cX;
|
ImageLine( $im, $x1, $y1, $x2, $y2, $black );
|
||||||
$y2 = cos($ang) * $radiusY + $cY;
|
|
||||||
|
if ($min % 5 == 0) {
|
||||||
ImageLine($im, $x1, $y1, $x2, $y2, $black);
|
$textToDisplay = sprintf( "%d", (55 - $min) * $this->maxValue / 50 );
|
||||||
|
$bbox = imagettfbbox( 8, 0, $fontArial, $textToDisplay );
|
||||||
|
$x1 = sin( $ang ) * ($radiusX - 2.5 * $len) + $cX - $bbox[4] / 2;
|
||||||
if ($min % 5 == 0) {
|
$y1 = cos( $ang ) * ($radiusY - 2.5 * $len) + $cY + 2; // - abs($bbox[5]);
|
||||||
$textToDisplay = sprintf("%d", (55-$min)*$this->maxValue/50 );
|
imagettftext( $im, 8, 0, $x1, $y1, $gray, $fontArial, $textToDisplay );
|
||||||
$bbox = imagettfbbox(8, 0, $fontArial, $textToDisplay );
|
}
|
||||||
$x1 = sin($ang) * ($radiusX - 2.5*$len) + $cX - $bbox[4] / 2;
|
$min ++;
|
||||||
$y1 = cos($ang) * ($radiusY - 2.5*$len) + $cY +2;// - abs($bbox[5]);
|
}
|
||||||
imagettftext ( $im, 8, 0, $x1, $y1, $gray, $fontArial, $textToDisplay );
|
|
||||||
}
|
if (trim( $this->centerLabel ) != '') {
|
||||||
$min++;
|
$textToDisplay = trim( $this->centerLabel );
|
||||||
}
|
$bbox = imagettfbbox( 8, 0, $fontArial, $textToDisplay );
|
||||||
|
$x1 = $cX - $bbox[4] / 2;
|
||||||
if (trim($this->centerLabel) != '' ) {
|
$y1 = $cY * 3 / 4 + abs( $bbox[5] );
|
||||||
$textToDisplay = trim($this->centerLabel);
|
imagettftext( $im, 8, 0, $x1, $y1, $black, $fontArial, $textToDisplay );
|
||||||
$bbox = imagettfbbox(8, 0, $fontArial, $textToDisplay );
|
}
|
||||||
$x1 = $cX - $bbox[4] / 2;
|
|
||||||
$y1 = $cY *3/4 + abs($bbox[5]);
|
imagettftext( $im, 9, 0, $cX * 0.60, $cY * 1.8, $gray, $fontArial, $this->open );
|
||||||
imagettftext ( $im, 8, 0, $x1, $y1, $black, $fontArial, $textToDisplay );
|
imagettftext( $im, 9, 0, $cX * 1.40, $cY * 1.8, $gray, $fontArial, $this->completed );
|
||||||
}
|
|
||||||
|
//drawing the arrow, simple way
|
||||||
imagettftext ( $im, 9, 0, $cX*0.60, $cY*1.8, $gray, $fontArial, $this->open );
|
$radiusX = intval( $dX * 0.35 );
|
||||||
imagettftext ( $im, 9, 0, $cX*1.40, $cY*1.8, $gray, $fontArial, $this->completed );
|
$radiusY = intval( $dY * 0.35 );
|
||||||
|
|
||||||
|
$ang = - M_PI / 6 + 2 * M_PI - (2 * M_PI * $this->value) * 50 / 60 / $this->maxValue;
|
||||||
//drawing the arrow, simple way
|
$x1 = sin( $ang ) * ($radiusX) + $cX;
|
||||||
$radiusX = intval($dX * 0.35);
|
$y1 = cos( $ang ) * ($radiusY) + $cY;
|
||||||
$radiusY = intval($dY * 0.35);
|
ImageLine( $im, $cX, $cY, $x1, $y1, $arrowLine );
|
||||||
|
|
||||||
$ang = - M_PI/6 + 2*M_PI - ( 2 * M_PI * $this->value )*50/60 /$this->maxValue ;
|
/*
|
||||||
$x1 = sin($ang) * ($radiusX) + $cX;
|
|
||||||
$y1 = cos($ang) * ($radiusY) + $cY;
|
|
||||||
ImageLine($im, $cX, $cY, $x1, $y1, $arrowLine);
|
|
||||||
|
|
||||||
/*
|
|
||||||
//arrowLine
|
//arrowLine
|
||||||
$arrowHeight = intval($dY * 0.02);
|
$arrowHeight = intval($dY * 0.02);
|
||||||
$arrowWidth = intval($dX * 0.35);
|
$arrowWidth = intval($dX * 0.35);
|
||||||
$arrowTail = intval($dX * 0.15);
|
$arrowTail = intval($dX * 0.15);
|
||||||
$values = array(
|
$values = array(
|
||||||
0, -$arrowHeight,
|
0, -$arrowHeight,
|
||||||
-$arrowTail, 0,
|
-$arrowTail, 0,
|
||||||
0, $arrowHeight,
|
0, $arrowHeight,
|
||||||
$arrowWidth, 0,
|
$arrowWidth, 0,
|
||||||
0, -$arrowHeight
|
0, -$arrowHeight
|
||||||
);
|
);
|
||||||
|
|
||||||
//rotate n degrees
|
//rotate n degrees
|
||||||
$n = 20;
|
$n = 20;
|
||||||
$ang = (2 * M_PI * $n) / 60;
|
$ang = (2 * M_PI * $n) / 60;
|
||||||
|
|
||||||
foreach ( $values as $k => $val ) {
|
foreach ( $values as $k => $val ) {
|
||||||
if ( $k % 2 == 0 ) {
|
if ( $k % 2 == 0 ) {
|
||||||
//$values[$k] = sin($ang)*$val + 20;
|
//$values[$k] = sin($ang)*$val + 20;
|
||||||
@@ -246,25 +254,24 @@
|
|||||||
$values[$k] += $cY;
|
$values[$k] += $cY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
imagefilledpolygon ($im, $values, 5, $arrowBody);
|
imagefilledpolygon ($im, $values, 5, $arrowBody);
|
||||||
imagepolygon ($im, $values, 5, $arrowLine);
|
imagepolygon ($im, $values, 5, $arrowLine);
|
||||||
*/
|
*/
|
||||||
//blue ring
|
//blue ring
|
||||||
$dXBlueRing = $dX * 0.07;
|
$dXBlueRing = $dX * 0.07;
|
||||||
$dYBlueRing = $dY * 0.07;
|
$dYBlueRing = $dY * 0.07;
|
||||||
imagefilledellipse($im, $cX, $cY, $dXBlueRing, $dXBlueRing, $blueRing);
|
imagefilledellipse( $im, $cX, $cY, $dXBlueRing, $dXBlueRing, $blueRing );
|
||||||
imageellipse ($im, $cX, $cY, $dXBlueRing, $dYBlueRing, $blueRingLine);
|
imageellipse( $im, $cX, $cY, $dXBlueRing, $dYBlueRing, $blueRingLine );
|
||||||
|
|
||||||
imageellipse ($im, $cX, $cY, $dX, $dY, $black);
|
imageellipse( $im, $cX, $cY, $dX, $dY, $black );
|
||||||
|
|
||||||
$textToDisplay = sprintf ( "%5.2f%%", $this->value );
|
$textToDisplay = sprintf( "%5.2f%%", $this->value );
|
||||||
$bbox = imagettfbbox(9, 0, $fontArial, $textToDisplay );
|
$bbox = imagettfbbox( 9, 0, $fontArial, $textToDisplay );
|
||||||
$centerX = $cX - $bbox[4] / 2;
|
$centerX = $cX - $bbox[4] / 2;
|
||||||
$centerY = $cY+$dYRing/2+3-abs($bbox[5]);
|
$centerY = $cY + $dYRing / 2 + 3 - abs( $bbox[5] );
|
||||||
imagettftext ( $im, 9, 0, $centerX, $centerY, $black, $fontArial, $textToDisplay );
|
imagettftext( $im, 9, 0, $centerX, $centerY, $black, $fontArial, $textToDisplay );
|
||||||
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user