高品質のグラフィックス
Example 23
リリース1.27bから背景(全部の絵またはグラフ域だけ)をカスタマイズすることが可能になりました。
この例に、我々はdrawGraphAreaGradient()を呼んでいて、
背景(全部の絵)TARGET_BACKGROUNDである目標を指定している背景を満たしています。
我々は二度目に、目標を指定していないこの機能を呼んでいます、デフォルトで、それはグラフ域に適用されます。
グラフのタイトルは、絵、塗りつぶしの色、テキスト調整の左である箱立場を指定した状態でdrawTextBox()機能を呼び書かれます。我々は、影をテキストと90度回転して適用してもいます。背景ボックスの透明度は、30%に設定しています。
最後に、我々は絵のまわりで2px黒い境界を引くために、addBorder()機能を呼んでいます。
それが絵の大きさを変更するので、この呼び出しは絵を描いているチャートの終わりにされなければなりません。
(訳注)この画像はサンプルコードのExample23.phpを出力したものです。
Example23.php ソースコード
<?php
/*
Example23 : Playing with background bis
*/
// Standard inclusions
include("pChart/pData.class");
include("pChart/pChart.class");
// Dataset definition
$DataSet = new pData;
$DataSet->AddPoint(array(9,9,9,10,10,11,12,14,16,17,18,18,19,19,18,15,12,10,9),"Serie1");
$DataSet->AddPoint(array(10,11,11,12,12,13,14,15,17,19,22,24,23,23,22,20,18,16,14),"Serie2");
$DataSet->AddPoint(array(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22),"Serie3");
$DataSet->AddAllSeries();
$DataSet->RemoveSerie("Serie3");
$DataSet->SetAbsciseLabelSerie("Serie3");
$DataSet->SetSerieName("January","Serie1");
$DataSet->SetSerieName("February","Serie2");
$DataSet->SetYAxisName("Temperature");
$DataSet->SetYAxisUnit("�C");
$DataSet->SetXAxisUnit("h");
// Initialise the graph
$Test = new pChart(700,230);
$Test->drawGraphAreaGradient(132,173,131,50,TARGET_BACKGROUND);
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->setGraphArea(120,20,675,190);
$Test->drawGraphArea(213,217,221,FALSE);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_ADDALL,213,217,221,TRUE,0,2,TRUE);
$Test->drawGraphAreaGradient(163,203,167,50);
$Test->drawGrid(4,TRUE,230,230,230,20);
// Draw the bar chart
$Test->drawStackedBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),70);
// Draw the title
$Title = " Average Temperatures during\r\n the first months of 2008 ";
$Test->drawTextBox(0,0,50,230,$Title,90,255,255,255,ALIGN_BOTTOM_CENTER,TRUE,0,0,0,30);
// Draw the legend
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->drawLegend(610,10,$DataSet->GetDataDescription(),236,238,240,52,58,82);
// Render the picture
$Test->addBorder(2);
$Test->Render("example23.png");
?>