本文整理汇总了PHP中pImage类的典型用法代码示例。如果您正苦于以下问题:PHP pImage类的具体用法?PHP pImage怎么用?PHP pImage使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了pImage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: index
function index()
{
/* Create and populate the pData object */
$MyData = new pData();
$MyData->addPoints(getGenders($this->db), "ScoreA");
$MyData->setSerieDescription("ScoreA", "Application A");
/* Define the absissa serie */
$MyData->addPoints(array("Female", "Male"), "Labels");
$MyData->setAbscissa("Labels");
/* Create the pChart object */
$myPicture = new pImage(240, 180, $MyData, TRUE);
/* Set the default font properties */
$myPicture->setFontProperties(array("FontName" => pClass . "fonts/Forgotte.ttf", "FontSize" => 10, "R" => 80, "G" => 80, "B" => 80));
/* Create the pPie object */
$PieChart = new pPie($myPicture, $MyData);
/* Enable shadow computing */
$myPicture->setShadow(TRUE, array("X" => 3, "Y" => 3, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10));
/* Draw a splitted pie chart */
$PieChart->draw3DPie(120, 90, array("Radius" => 100, "DataGapAngle" => 12, "DataGapRadius" => 10, "Border" => TRUE));
/* Write the legend box */
$myPicture->setFontProperties(array("FontName" => pClass . "fonts/Silkscreen.ttf", "FontSize" => 6, "R" => 0, "G" => 0, "B" => 0));
$PieChart->drawPieLegend(140, 160, array("Style" => LEGEND_NOBORDER, "Mode" => LEGEND_HORIZONTAL));
/* Render the picture (choose the best way) */
$myPicture->stroke();
//$myPicture->autoOutput("pictures/example.draw3DPie.transparent.png");
}
示例2: plot
function plot($lift)
{
$MyData = new pData();
$positivelift = array();
$negativelift = array();
foreach ($lift as $heading => $fpm) {
if ($fpm > 0) {
$positivelift[$heading] = $fpm;
$negativelift[$heading] = 0;
} else {
$negativelift[$heading] = -$fpm;
$positivelift[$heading] = 0;
}
}
$MyData->addPoints($positivelift, "ScoreA");
// green
$MyData->addPoints($negativelift, "ScoreB");
// red
$MyData->addPoints(array_keys($lift), "Coord");
$MyData->setAbscissa("Coord");
$myPicture = new pImage(700, 700, $MyData);
$myPicture->setFontProperties(array("FontName" => "../fonts/Forgotte.ttf", "FontSize" => 10, "R" => 80, "G" => 80, "B" => 80));
$myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10));
$SplitChart = new pRadar();
$myPicture->setGraphArea(10, 10, 690, 690);
$Options = array("LabelPos" => RADAR_LABELS_HORIZONTAL, "BackgroundGradient" => array("StartR" => 255, "StartG" => 255, "StartB" => 255, "StartAlpha" => 50, "EndR" => 32, "EndG" => 109, "EndB" => 174, "EndAlpha" => 30), "DrawPoly" => TRUE, "PolyAlpha" => 50, "FontName" => "../fonts/pf_arma_five.ttf", "FontSize" => 6);
$SplitChart->drawPolar($myPicture, $MyData, $Options);
$myPicture->autoOutput("lift.png");
}
示例3: grafico
/**
* Gera um gráfico de linha
* @param array $dados Array no formato array('Label' => array(pontos))
* @param string $tipo linha ou barra
*/
function grafico($dados, $tipo = 'linha')
{
require_once 'exemplos/graficos/pChart/class/pDraw.class.php';
require_once 'exemplos/graficos/pChart/class/pImage.class.php';
require_once 'exemplos/graficos/pChart/class/pData.class.php';
// precisamos ter dados para montar os gráficos
$DataSet = new pData();
// Adicionando os pontos de um gráfico de linha
// horas de trabalho na semana
foreach ($dados as $label => $pontos) {
$DataSet->addPoints($pontos, $label);
}
$DataSet->setAxisName(0, 'Horas');
// unidade
$DataSet->setAxisUnit(0, 'h');
$settings = array("R" => 229, "G" => 11, "B" => 11, "Alpha" => 80);
$DataSet->setPalette("Joao", $settings);
// Labels
$DataSet->addPoints(array('Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'), 'Dias');
$DataSet->setSerieDescription('Dias', 'Dias da Semana');
$DataSet->setAbscissa('Dias');
$Graph = new pImage(700, 230, $DataSet);
$Graph->setFontProperties(array('FontName' => 'exemplos/graficos/pChart/fonts/verdana.ttf', 'FontSize' => 8));
$Graph->setGraphArea(50, 40, 670, 190);
$scale = array('GridR' => 150, 'GridG' => 150, 'GridB' => 150, 'DrawSubTicks' => true, 'CycleBackground' => true);
$Graph->drawScale($scale);
if ($tipo == 'linha') {
$Graph->drawLineChart();
} else {
$Graph->drawBarChart();
}
$Graph->drawLegend(540, 25, array('Style' => LEGEND_ROUND, 'Mode' => LEGEND_VERTICAL));
$Graph->drawText(60, 20, "Horas Trabalhadas");
$Graph->autoOutput();
}
示例4: listadoPersonasXedadConfigChart
/**
* Sets fonts and sizes
*
* @param pData $myData People's Years data
*
* @return pImage the Chart Image Box
*/
protected static function listadoPersonasXedadConfigChart($myData)
{
/* Create the pChart object */
$myPicture = new pImage(300, 230, $myData);
/* Write the picture title */
$myPicture->setFontProperties(array("FontName" => PathsUtils::$chartFontsDir . "/Silkscreen.ttf", "FontSize" => 6));
$myPicture->drawText(10, 13, "Recuento de Años de nacimiento", array("R" => 255, "G" => 255, "B" => 255));
/* Set the default font properties */
$myPicture->setFontProperties(array("FontName" => PathsUtils::$chartFontsDir . "/Forgotte.ttf", "FontSize" => 10, "R" => 80, "G" => 80, "B" => 80));
return $myPicture;
}
示例5: showTimeline
function showTimeline($ticket, $params = array())
{
global $CFG_GLPI;
/* Create and populate the pData object */
$MyData = new pData();
/* Create the pChart object */
$myPicture = new pImage(820, 29, $MyData);
/* Create the pIndicator object */
$Indicator = new pIndicator($myPicture);
$myPicture->setFontProperties(array("FontName" => GLPI_ROOT . "/plugins/timelineticket/lib/pChart2.1.4/fonts/pf_arma_five.ttf", "FontSize" => 6));
/* Define the indicator sections */
$IndicatorSections = array();
$_usersfinished = array();
$a_users_list = array();
$IndicatorSections = PluginTimelineticketToolbox::getDetails($ticket, 'user');
foreach ($IndicatorSections as $users_id => $data) {
$a_users_list[$users_id] = $users_id;
$a_end = end($data);
if ($a_end['R'] == 235 && $a_end['G'] == 235 && $a_end['B'] == 235) {
$_usersfinished[$users_id] = true;
} else {
$_usersfinished[$users_id] = false;
}
}
echo "<tr>";
echo "<th colspan='2'>";
if (count($a_users_list) > 1) {
_e('Technicians in charge of the ticket', 'timelineticket');
} else {
_e('Technician in charge of the ticket');
}
echo "</th>";
echo "</tr>";
foreach ($IndicatorSections as $users_id => $array) {
echo "<tr class='tab_bg_2'>";
echo "<td width='100'>";
echo getUsername($users_id);
echo "</td>";
echo "<td>";
if ($ticket->fields['status'] != Ticket::CLOSED && $_usersfinished[$users_id] != 0) {
$IndicatorSettings = array("Values" => array(100, 201), "CaptionPosition" => INDICATOR_CAPTION_BOTTOM, "CaptionLayout" => INDICATOR_CAPTION_DEFAULT, "CaptionR" => 0, "CaptionG" => 0, "CaptionB" => 0, "DrawLeftHead" => false, "DrawRightHead" => true, "ValueDisplay" => false, "IndicatorSections" => $array, "SectionsMargin" => 0);
$Indicator->draw(2, 2, 805, 25, $IndicatorSettings);
} else {
$IndicatorSettings = array("Values" => array(100, 201), "CaptionPosition" => INDICATOR_CAPTION_BOTTOM, "CaptionLayout" => INDICATOR_CAPTION_DEFAULT, "CaptionR" => 0, "CaptionG" => 0, "CaptionB" => 0, "DrawLeftHead" => false, "DrawRightHead" => false, "ValueDisplay" => false, "IndicatorSections" => $array, "SectionsMargin" => 0);
$Indicator->draw(2, 2, 814, 25, $IndicatorSettings);
}
$filename = $uid = Session::getLoginUserID(false) . "_testuser" . $users_id;
$myPicture->render(GLPI_GRAPH_DIR . "/" . $filename . ".png");
echo "<img src='" . $CFG_GLPI['root_doc'] . "/front/graph.send.php?file=" . $filename . ".png'><br/>";
echo "</td>";
echo "</tr>";
}
}
示例6: drawBarChart
protected function drawBarChart(ChartDataset $CDs)
{
if (!extension_loaded("gd") && !extension_loaded("gd2")) {
/* Extension not loaded */
// NO BARCHARTS AND ERRORS FOR YOU!
return;
}
/* Create and populate the pData object */
$MyData = new pData();
if (empty($CDs->data)) {
return;
}
//print_r($CDs->data);
foreach ($CDs->data as $points) {
//print_r($points);
$MyData->addPoints($points["points"], $points["label"]);
}
$MyData->setAxisName(0, "Amount Sold");
$MyData->setSerieDescription($points["label"], $points["label"]);
$MyData->setAbscissa($points["label"]);
/* Create the pChart object */
$myPicture = new pImage(1000, 230, $MyData);
// the horrible way to add fonts is just one bunch of fucked up shit, not making sense. bullshit parameters and paths.
//$myPicture->setFontProperties(array("FontName"=>"Bedizen"));
$myPicture->setFontProperties(array("FontName" => "pChart2.1.4//fonts/calibri.ttf", "FontSize" => 11));
//print_r(is_file("C:/xampp_jan2015/htdocs/hackerbar/web/fonts/GeosansLight.ttf"));
/* Turn of Antialiasing */
$myPicture->Antialias = false;
/* Add a border to the picture */
$myPicture->drawGradientArea(0, 0, 1000, 230, DIRECTION_VERTICAL, array("StartR" => 240, "StartG" => 240, "StartB" => 240, "EndR" => 180, "EndG" => 180, "EndB" => 180, "Alpha" => 100));
$myPicture->drawGradientArea(0, 0, 1000, 230, DIRECTION_HORIZONTAL, array("StartR" => 240, "StartG" => 240, "StartB" => 240, "EndR" => 180, "EndG" => 180, "EndB" => 180, "Alpha" => 20));
$myPicture->drawRectangle(0, 0, 999, 229, array("R" => 0, "G" => 0, "B" => 0));
/* Set the default font */
//$myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
/* Define the chart area */
$myPicture->setGraphArea(60, 40, 850, 200);
/* Draw the scale */
$scaleSettings = array("GridR" => 200, "GridG" => 200, "GridB" => 200, "DrawSubTicks" => TRUE, "CycleBackground" => TRUE);
$myPicture->drawScale($scaleSettings);
/* Write the chart legend */
$myPicture->drawLegend(860, 25, array("Style" => LEGEND_NOBORDER, "Mode" => LEGEND_VERTICAL));
/* Turn on shadow computing */
$myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10));
/* Draw the chart */
$myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10));
$settings = array("Surrounding" => -30, "InnerSurrounding" => 30);
$myPicture->drawBarChart($settings);
/* Render the picture (choose the best way) */
$myPicture->autoOutput("images/barcharts/" . $points["label"] . ".png");
//$myPicture->auto
$myPicture->render("myfile.png");
}
示例7: action_getImageMap
protected function action_getImageMap()
{
ob_start();
global $current_user;
if (!isset($_REQUEST['imageMapId'])) {
return;
}
require_once 'modules/AOR_Charts/lib/pChart/pChart.php';
$img = new pImage(100, 100);
$imageMapDir = create_cache_directory('modules/AOR_Charts/ImageMap/' . $current_user->id . '/');
$id = $current_user->id . "-" . (int) $_REQUEST['imageMapId'];
ob_clean();
$img->dumpImageMap($id, IMAGE_MAP_STORAGE_FILE, $id, $imageMapDir);
}
示例8: PlotPie
function PlotPie($rowA, $rowB, $name, $cch)
{
include $_SERVER['DOCUMENT_ROOT'] . "/TBSIM/Lib/class/pData.class.php";
include $_SERVER['DOCUMENT_ROOT'] . "/TBSIM/Lib/class/pDraw.class.php";
include $_SERVER['DOCUMENT_ROOT'] . "/TBSIM/Lib/class/pImage.class.php";
include $_SERVER['DOCUMENT_ROOT'] . "/TBSIM/Lib/class/pPie.class.php";
$MyData = new pData();
$MyData->addPoints($rowA, "ScoreA");
$MyData->setSerieDescription("ScoreA", "Application A");
/* Define the absissa serie */
$MyData->addPoints($rowB, "Labels");
$MyData->setAbscissa("Labels");
/* Create the pChart object */
$myPicture = new pImage(700, 630, $MyData);
$myPicture->setFontProperties(array("FontName" => "fonts/Forgotte.ttf", "FontSize" => 14));
$TextSettings = array("Align" => TEXT_ALIGN_MIDDLEMIDDLE, "R" => 252, "G" => 252, "B" => 252, "DrawBox" => 1, "BoxAlpha" => 30);
//$myPicture->drawText(350,25,$name,$TextSettings);
$myPicture->setShadow(FALSE);
$myPicture->setGraphArea(50, 50, 675, 690);
//$myPicture->setFontProperties(array("R"=>0,"G"=>0,"B"=>0,"FontName"=>"fonts/pf_arma_five.ttf","FontSize"=>6));
$Settings = array("Pos" => SCALE_POS_LEFTRIGHT, "Mode" => SCALE_MODE_FLOATING, "LabelingMethod" => LABELING_ALL, "GridR" => 255, "GridG" => 255, "GridB" => 255, "GridAlpha" => 50, "TickR" => 0, "TickG" => 0, "TickB" => 0, "TickAlpha" => 50, "LabelRotation" => 0, "CycleBackground" => 1, "DrawXLines" => 1, "DrawSubTicks" => 1, "SubTickR" => 255, "SubTickG" => 0, "SubTickB" => 0, "SubTickAlpha" => 50, "DrawYLines" => ALL);
//$myPicture->drawScale($Settings);
$myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 50, "G" => 50, "B" => 50, "Alpha" => 10));
/* Create the pPie object */
$PieChart = new pPie($myPicture, $MyData);
/* Draw an AA pie chart */
if ($cch == 11) {
$PieChart->draw2DPie(160, 140, array("DrawLabels" => TRUE, "LabelStacked" => TRUE, "Border" => TRUE));
}
if ($cch == 12) {
$PieChart->draw2DRing(160, 140, array("WriteValues" => TRUE, "ValueR" => 255, "ValueG" => 255, "ValueB" => 255, "Border" => TRUE));
}
if ($cch == 13) {
$PieChart->draw3DPie(160, 140, array("Radius" => 70, "DrawLabels" => TRUE, "LabelStacked" => TRUE, "Border" => TRUE));
}
/* Write the legend box */
$myPicture->setShadow(FALSE);
$PieChart->drawPieLegend(15, 40, array("Alpha" => 20));
/* Render the picture (choose the best way) */
$myPicture->autoOutput("pictures/example.draw2DPie.labels.png");
}
示例9: drawCompetencyExpertsRadar
public function drawCompetencyExpertsRadar($img, $points, $competences, $roles, $skale, $palettes)
{
$MyData = new \pData();
/*$palettes = array(
array("R"=>84,"G"=>85,"B"=>86),
array("R"=>21,"G"=>101,"B"=>112),
array("R"=>223,"G"=>72,"B"=>11),
array("R"=>10,"G"=>120,"B"=>40),
array("R"=>200,"G"=>150,"B"=>20),
);*/
/*$palettes = array(
0 => array('R' => 191, 'G' => 191, 'B' => 191),
1 => array('R' => 226, 'G' => 24, 'B' => 54),
2 => array('R' => 244, 'G' => 122, 'B' => 32),
3 => array('R' => 146, 'G' => 0, 'B' => 61),
4 => array('R' => 91, 'G' => 74, 'B' => 63),
5 => array('R' => 55, 'G' => 96, 'B' => 146),
6 => array('R' => 119, 'G' => 147, 'B' => 60),
);*/
$i = 0;
foreach ($points as $roleID => $data) {
$MyData->addPoints($data, "Score" . $roleID);
$MyData->setSerieDescription("Score" . $roleID, $roles[$roleID]['name']);
$MyData->setPalette("Score" . $roleID, $palettes[$i++]);
}
$labels = array();
foreach ($competences as $competency) {
$labels[] = strpos($competency, ' ') !== false ? $this->divideString($competency) : $competency;
}
$MyData->addPoints($labels, "Labels");
$MyData->setAbscissa("Labels");
$myPicture = new \pImage(460 * 1.53, 330 * 1.53, $MyData);
$myPicture->setFontProperties(array("FontName" => dirname(__FILE__) . '/fonts/calibri.ttf', "FontSize" => round(7 * 1.53), "R" => 80, "G" => 80, "B" => 80));
/* Create the pRadar object */
$SplitChart = new \pRadar();
/* Draw a radar chart */
$myPicture->setGraphArea(70 * 1.53, 30 * 1.53, 340 * 1.53, 300 * 1.53);
$Options = array("Layout" => RADAR_LAYOUT_STAR, 'SegmentHeight' => ceil($skale['max'] / 4), "FontName" => dirname(__FILE__) . '/fonts/calibri.ttf', "FontSize" => round(7 * 1.53), 'LabelPos' => RADAR_LABELS_HORIZONTAL, 'LineWidth' => 3);
$SplitChart->drawRadar($myPicture, $MyData, $Options);
$myPicture->render($img);
}
示例10: getTextWidthHeight
protected function getTextWidthHeight($text, $fontSize = false)
{
if (!$fontSize) {
$fontSize = $this->fontSize;
}
if (!$this->pImage) {
$this->initpImage();
}
// could not find a way to get pixel perfect width & height info using imageftbbox
$textInfo = $this->pImage->drawText(0, 0, $text, array('Alpha' => 0, 'FontSize' => $fontSize, 'FontName' => $this->font));
return array($textInfo[1]["X"] + 1, $textInfo[0]["Y"] - $textInfo[2]["Y"]);
}
示例11: createGraphe
function createGraphe($vData, $hData, $titre, $vLabel, $hLabel)
{
$MyData = new pData();
/*Je présente ma série de données à utiliser pour le graphique et je détermine le titre de l'axe vertical avec setAxisName*/
$MyData->addPoints($vData, "vertical");
$MyData->setSerieWeight("vertical", 2);
$MyData->setAxisName(0, $vLabel);
/*J'indique les données horizontales du graphique. Il doit y avoir le même nombre que pour ma série de données précédentes (logique)*/
$MyData->addPoints($hData, "horizontal");
$MyData->setSerieDescription("horizontal", $hLabel);
$MyData->setAbscissa("horizontal");
$MyData->setPalette("vertical", array("R" => 255, "G" => 0, "B" => 0));
/* Je crée l'image qui contiendra mon graphique précédemment crée */
$myPicture = new pImage(900, 400, $MyData);
/* Je crée une bordure à mon image */
$myPicture->drawRectangle(0, 0, 899, 399, array("R" => 0, "G" => 0, "B" => 0));
/* J'indique le titre de mon graphique, son positionnement sur l'image et sa police */
$myPicture->setFontProperties(array("FontName" => "./pChart2.1.4/fonts/Forgotte.ttf", "FontSize" => 11));
$myPicture->drawText(200, 25, $titre, array("FontSize" => 20, "Align" => TEXT_ALIGN_BOTTOMMIDDLE));
/* Je choisi la font de mon graphique */
$myPicture->setFontProperties(array("FontName" => "./pChart2.1.4/fonts/pf_arma_five.ttf", "FontSize" => 6));
/* Je détermine la taille du graphique et son emplacement dans l'image */
$myPicture->setGraphArea(60, 40, 800, 380);
/* Paramètres pour dessiner le graphique à partir des deux abscisses */
$scaleSettings = array("XMargin" => 10, "YMargin" => 10, "Floating" => TRUE, "GridR" => 200, "GridG" => 200, "GridB" => 200, "DrawSubTicks" => FALSE, "CycleBackground" => TRUE, "LabelSkip" => 4);
$myPicture->drawScale($scaleSettings);
/* Je dessine mon graphique en fonction des paramètres précédents */
$myPicture->drawAreaChart();
$myPicture->drawLineChart();
/* J'indique le chemin où je souhaite que mon image soit créée */
$myPicture->Render("img/" . $titre . ".png");
}
示例12: renderChart
function renderChart($chartType, $title, $prepData, $legend)
{
$width = 800;
$height = 500;
$titleHeight = 20;
/*
* Create a dataset we can use
*/
$dataSet = array_values($prepData);
$imgData = new pData();
if ($chartType == "bar") {
$imgData->addPoints($dataSet, "data");
$imgData->addPoints($legend, "legend");
$imgData->setAbscissa("legend");
$imgData->setPalette("data", array("R" => 0, "G" => 108, "B" => 171, "Alpha" => 100));
$img = new pImage($width, $height, $imgData);
$img->drawGradientArea(0, $titleHeight, $width, $height, DIRECTION_VERTICAL, array("StartR" => 200, "StartG" => 200, "StartB" => 200, "EndR" => 18, "EndG" => 52, "EndB" => 86, "Alpha" => 100));
$img->drawGradientArea(0, 0, $width, $titleHeight, DIRECTION_VERTICAL, array("StartR" => 18, "StartG" => 52, "StartB" => 86, "EndR" => 50, "EndG" => 50, "EndB" => 50, "Alpha" => 100));
$img->setFontProperties(array("FontName" => "images/ttf/liberation-sans/LiberationSans-Bold.ttf", "FontSize" => 10));
$img->drawText($width / 2, 13, $title, array("Align" => TEXT_ALIGN_MIDDLEMIDDLE, "R" => 255, "G" => 255, "B" => 255));
$img->setFontProperties(array("R" => 255, "G" => 255, "B" => 255, "FontName" => "images/ttf/liberation-sans/LiberationSans-Regular.ttf", "FontSize" => 9));
$img->setGraphArea(60, $titleHeight + 20, $width - 50, $height - 30);
$img->drawScale(array("GridR" => 200, "GridG" => 200, "GridB" => 200, "Mode" => SCALE_MODE_START0));
$img->drawBarChart(array("Gradient" => TRUE, "GradientMode" => GRADIENT_EFFECT_CAN, "DisplayPos" => LABEL_POS_INSIDE, "DisplayValues" => TRUE, "Surrounding" => 10));
} elseif ($chartType == "3Dpie") {
$imgData->addPoints($dataSet, "data");
$imgData->addPoints($legend, "legend");
$imgData->setAbscissa("legend");
$img = new pImage($width, $height, $imgData, TRUE);
$PieChart = new pPie($img, $imgData);
$img->drawGradientArea(0, $titleHeight, $width, $height, DIRECTION_VERTICAL, array("StartR" => 200, "StartG" => 200, "StartB" => 200, "EndR" => 18, "EndG" => 52, "EndB" => 86, "Alpha" => 100));
$img->drawGradientArea(0, 0, $width, $titleHeight, DIRECTION_VERTICAL, array("StartR" => 18, "StartG" => 52, "StartB" => 86, "EndR" => 50, "EndG" => 50, "EndB" => 50, "Alpha" => 100));
$img->setFontProperties(array("FontName" => "images/ttf/liberation-sans/LiberationSans-Bold.ttf", "FontSize" => 10));
$img->drawText($width / 2, 13, $title, array("Align" => TEXT_ALIGN_MIDDLEMIDDLE, "R" => 255, "G" => 255, "B" => 255));
$PieChart->setSliceColor(0, array("R" => 0, "G" => 108, "B" => 171));
$PieChart->setSliceColor(1, array("R" => 205, "G" => 159, "B" => 0));
$PieChart->setSliceColor(2, array("R" => 0, "G" => 171, "B" => 0));
$PieChart->setSliceColor(3, array("R" => 171, "G" => 28, "B" => 0));
$img->setFontProperties(array("FontName" => "images/ttf/liberation-sans/LiberationSans-Regular.ttf", "FontSize" => 9));
$PieChart->draw3DPie($width / 2, $height / 2 + $titleHeight, array("Radius" => $width / 2 - 100, "SecondPass" => TRUE, "DrawLabels" => TRUE, "WriteValues" => TRUE, "Precision" => 2, "ValueR" => 0, "ValueG" => 0, "ValueB" => 0, "ValueAlpha" => 100, "SkewFactor" => 0.6, "LabelR" => 255, "LabelG" => 255, "LabelB" => 255, "LabelAlpha" => 100));
}
# if
if (isset($img)) {
ob_start();
$img->render(NULL);
$imageString = ob_get_clean();
$dimensions = $this->_svcImageUtil->getImageDimensions($imageString);
return array('metadata' => $dimensions, 'content' => $imageString);
} else {
return false;
}
# else
}
示例13: RenderValueChart
function RenderValueChart(&$debug2)
{
$conditions = [["BETWEEN 1 AND 19"], ["BETWEEN 20 AND 49"], ["BETWEEN 50 AND 99"], ["BETWEEN 100 AND 199"], ["BETWEEN 200 AND 299"], ["BETWEEN 300 AND 499"], ["BETWEEN 500 AND 999"], ["> 999"]];
$label = ["1-19", "20-49", "50-99", "100-199", "200-299", "300-499", "500-999", ">1000"];
coinValueCount($conditions, $array_result);
/* Create and populate the pData object */
$MyData = new pData();
$MyData->addPoints($array_result, "Värde (kr)");
$MyData->setAxisName(0, "Antal");
$MyData->addPoints($label, "Months");
$MyData->setSerieDescription("Months", "Month");
$MyData->setAbscissa("Months");
/* Create the cache object */
$myCache1 = new pCache(array("CacheFolder" => PCHART_PATH . "/class/cache"));
/* Compute the hash linked to the chart data */
$ChartHash1 = $myCache1->getHash($MyData);
/* Test if we got this hash in our cache already */
if ($myCache1->isInCache($ChartHash1)) {
/* If we have it, get the picture from the cache! */
$myCache1->saveFromCache($ChartHash1, WWW_PATH . "/tmp/valuechart.png");
$debug2 = "Old image";
} else {
/* Create the pChart object */
$myPicture = new pImage(700, 400, $MyData);
/* Turn of Antialiasing */
$myPicture->Antialias = TRUE;
/* Add a border to the picture */
$myPicture->drawRectangle(0, 0, 699, 399, array("R" => 0, "G" => 0, "B" => 0));
/* Set the default font */
$myPicture->setFontProperties(array("FontName" => PCHART_PATH . "/fonts/Forgotte.ttf", "FontSize" => 15, "R" => 80, "G" => 80, "B" => 80));
/* Define the chart area */
$myPicture->setGraphArea(60, 40, 650, 350);
/* Draw the scale */
$scaleSettings = array("GridR" => 200, "GridG" => 200, "GridB" => 200, "DrawSubTicks" => TRUE, "CycleBackground" => TRUE, "Mode" => SCALE_MODE_START0);
$myPicture->drawScale($scaleSettings);
/* Write the chart legend */
$myPicture->drawLegend(340, 12, array("Style" => LEGEND_NOBORDER, "Mode" => LEGEND_HORIZONTAL));
/* Turn on shadow computing */
$myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10));
/* Draw the chart */
$myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10));
$settings = array("Gradient" => TRUE, "GradientMode" => GRADIENT_EFFECT_CAN, "DisplayPos" => LABEL_POS_INSIDE, "DisplayValues" => TRUE, "DisplayR" => 255, "DisplayG" => 255, "DisplayB" => 255, "DisplayShadow" => TRUE, "Surrounding" => 10);
$myPicture->drawBarChart();
/* Push the rendered picture to the cache */
$myCache1->writeToCache($ChartHash1, $myPicture);
/* Render the picture (choose the best way) */
$myPicture->Render(WWW_PATH . "/tmp/valuechart.png");
$debug2 = "Picture rendered";
}
}
示例14: array
/* Create the Y axis and the binded series */
for ($i = 0; $i <= 360; $i = $i + 10) {
$myData->addPoints(sin(deg2rad(30 - $i)) * 20, "Probe 2");
}
$myData->setSerieOnAxis("Probe 2", 1);
$myData->setAxisName(1, "Y-Index");
$myData->setAxisXY(1, AXIS_Y);
$myData->setAxisPosition(1, AXIS_POSITION_RIGHT);
/* Create the 1st scatter chart binding */
$myData->setScatterSerie("Probe 1", "Probe 2", 0);
$myData->setScatterSerieDescription(0, "Trigonometric function");
$myData->setScatterSerieTicks(0, 4);
$myData->setScatterSerieColor(0, array("R" => 180, "G" => 0, "B" => 0));
$myData->setScatterSeriePicture(0, "resources/chart_line.png");
/* Create the pChart object */
$myPicture = new pImage(400, 400, $myData);
/* Draw the background */
$Settings = array("R" => 170, "G" => 183, "B" => 87, "Dash" => 1, "DashR" => 190, "DashG" => 203, "DashB" => 107);
$myPicture->drawFilledRectangle(0, 0, 400, 400, $Settings);
/* Overlay with a gradient */
$Settings = array("StartR" => 219, "StartG" => 231, "StartB" => 139, "EndR" => 1, "EndG" => 138, "EndB" => 68, "Alpha" => 50);
$myPicture->drawGradientArea(0, 0, 400, 400, DIRECTION_VERTICAL, $Settings);
$myPicture->drawGradientArea(0, 0, 400, 20, DIRECTION_VERTICAL, array("StartR" => 0, "StartG" => 0, "StartB" => 0, "EndR" => 50, "EndG" => 50, "EndB" => 50, "Alpha" => 80));
/* Write the picture title */
$myPicture->setFontProperties(array("FontName" => "../fonts/Silkscreen.ttf", "FontSize" => 6));
$myPicture->drawText(10, 13, "drawScatterLineChart() - Draw a scatter line chart", array("R" => 255, "G" => 255, "B" => 255));
/* Add a border to the picture */
$myPicture->drawRectangle(0, 0, 399, 399, array("R" => 0, "G" => 0, "B" => 0));
/* Set the default font */
$myPicture->setFontProperties(array("FontName" => "../fonts/pf_arma_five.ttf", "FontSize" => 6));
/* Set the graph area */
开发者ID:josepabloapu,项目名称:statistical-analysis-tools-lamp,代码行数:31,代码来源:example.drawScatterLineChart.trigo.php
示例15: pData
/* CAT:Stacked chart */
/* pChart library inclusions */
include "class/pData.class.php";
include "class/pDraw.class.php";
include "class/pImage.class.php";
/* Create and populate the pData object */
$MyData = new pData();
$MyData->addPoints(array(4, 1, 0, 12, 8, 4, 0, 12, 8), "Frontend #1");
$MyData->addPoints(array(3, 12, 15, 8, VOID, VOID, 12, 15, 8), "Frontend #2");
$MyData->addPoints(array(4, 4, 4, 4, 4, 4, 4, 4, 4), "Frontend #3");
$MyData->setAxisName(0, "Average Usage");
$MyData->addPoints(array("January", "February", "March", "April", "May", "June", "July", "August", "September"), "Labels");
$MyData->setSerieDescription("Labels", "Months");
$MyData->setAbscissa("Labels");
/* Create the pChart object */
$myPicture = new pImage(700, 230, $MyData);
$myPicture->drawGradientArea(0, 0, 700, 230, DIRECTION_VERTICAL, array("StartR" => 240, "StartG" => 240, "StartB" => 240, "EndR" => 180, "EndG" => 180, "EndB" => 180, "Alpha" => 100));
$myPicture->drawGradientArea(0, 0, 700, 230, DIRECTION_HORIZONTAL, array("StartR" => 240, "StartG" => 240, "StartB" => 240, "EndR" => 180, "EndG" => 180, "EndB" => 180, "Alpha" => 20));
/* Set the default font properties */
$myPicture->setFontProperties(array("FontName" => "../fonts/pf_arma_five.ttf", "FontSize" => 6));
/* Draw the scale and the chart */
$myPicture->setGraphArea(60, 20, 680, 190);
$myPicture->drawScale(array("XMargin" => 10, "YMargin" => 10, "Floating" => TRUE, "DrawSubTicks" => TRUE, "Mode" => SCALE_MODE_ADDALL_START0));
$myPicture->drawStackedAreaChart(array("DrawPlot" => TRUE, "DrawLine" => TRUE, "LineSurrounding" => -20));
/* Turn on shadow processing */
$myPicture->setShadow(TRUE, array("X" => 1, "Y" => 1, "R" => 0, "G" => 0, "B" => 0, "Alpha" => 10));
/* Write the chart legend */
$myPicture->drawLegend(480, 210, array("Style" => LEGEND_NOBORDER, "Mode" => LEGEND_HORIZONTAL));
/* Render the picture (choose the best way) */
$myPicture->autoOutput("pictures/example.drawStackedAreaChart.simple.png");