Ввёл новые параметры вызова bcolor – цвет фона и bgcolor – цвет зоны графика.
Код: Выделить всё
$Test = new pChart($w,$h);
if ($_GET['gcolor']=='red') {
$Test->setColorPalette(0,220,50,50);
} elseif ($_GET['gcolor']=='brown') {
$Test->setColorPalette(0,220,140,100);
} elseif ($_GET['gcolor']=='blue') {
$Test->setColorPalette(0,100,140,220);
} elseif ($_GET['gcolor']=='green') {
$Test->setColorPalette(0,100,220,140);
} elseif ($_GET['gcolor']=='orange') {
$Test->setColorPalette(0,220,190,50);
} else {
$Test->setColorPalette(0,150,150,150);
}
if ($_GET['bcolor']=='red') {
$Test->drawGraphAreaGradient(250,210,210,50,TARGET_BACKGROUND);// red
} elseif ($_GET['bcolor']=='blue') {
$Test->drawGraphAreaGradient(170,220,250,50,TARGET_BACKGROUND);// blue
} elseif ($_GET['bcolor']=='green') {
$Test->drawGraphAreaGradient(210,250,210,50,TARGET_BACKGROUND);// green
} else {
// empty
}
$Test->setFontProperties("./pChart/Fonts/tahoma.ttf",10);
if ($_GET['title']) {
$Test->drawTitle(60,15,$_GET['title'],250,250,250);
} else {
$Test->drawTitle(60,15,$p,250,250,250);
}
$Test->setFontProperties("./pChart/Fonts/tahoma.ttf",8);
$Test->setGraphArea(60,20,$w-25,$h-30);
//$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_START0,213,217,221,TRUE,0,2);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_START0,100,100,100,TRUE,0,2);
// background of gr.
//$Test->drawGraphAreaGradient(162,183,202,50);
if ($_GET['bgcolor']=='red') {
$Test->drawGraphAreaGradient(250,210,210,5);
} elseif ($_GET['bgcolor']=='blue') {
$Test->drawGraphAreaGradient(170,220,250,5);
} elseif ($_GET['bgcolor']=='green') {
$Test->drawGraphAreaGradient(220,250,220,5);
} else {
$Test->drawGraphAreaGradient(240,240,240,5);
}
//$Test->drawGrid(4,TRUE,230,230,230,50);
// Draw the line chart
$Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),2);
if ($_GET['gtype']=='curve') {
$Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription());
} elseif ($_GET['gtype']=='bar') {
$Test->drawBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),TRUE);
} else {
$Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
}
// Render the picture
$Test->AddBorder(1, 200,200,200);
Header("Content-type:image/png");
imagepng($Test->Picture);
//$Test->Render();
$db->Disconnect(); // closing database connection
Способ, как динамически менять цвета описан Сергеем несколькими постами выше. Посмотрите, там всё просто, если что конкретно не понятно — спрашивайте.