本文整理汇总了PHP中Text::SetColor方法的典型用法代码示例。如果您正苦于以下问题:PHP Text::SetColor方法的具体用法?PHP Text::SetColor怎么用?PHP Text::SetColor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Text
的用法示例。
在下文中一共展示了Text::SetColor方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addTextToGraph
/**
* @return Text
*/
private function addTextToGraph($msg, $padding_left, $padding_top, $font_weight, $font_size, $img_width)
{
$text = new Text($msg, $padding_left, $padding_top);
$text->SetFont($this->getFont(), $font_weight, $font_size);
$text->SetColor($this->getMainColor());
//word wrap
$width = $text->GetWidth($this->jpgraph_instance->img) - $padding_left;
$text->SetWordWrap(floor(strlen($msg) * ($this->img_width - 3 * $padding_left) / $width));
$text->Stroke($this->jpgraph_instance->img);
return $text;
}
示例2: generate_image
function generate_image($lang, $idx)
{
global $LANGUAGES;
$up_to_date = get_stats($idx, $lang, 'uptodate');
$up_to_date = $up_to_date[0];
//
$outdated = @get_stats($idx, $lang, 'outdated');
$outdated = $outdated[0];
//
$missing = get_stats($idx, $lang, 'notrans');
$missing = $missing[0];
//
$no_tag = @get_stats($idx, $lang, 'norev');
$no_tag = $no_tag[0];
$data = array($up_to_date, $outdated, $missing, $no_tag);
$percent = array();
$total = array_sum($data);
// Total ammount in EN manual (to calculate percentage values)
$total_files_lang = $total - $missing;
// Total ammount of files in translation
foreach ($data as $value) {
$percent[] = round($value * 100 / $total);
}
$legend = array($percent[0] . '%% up to date (' . $up_to_date . ')', $percent[1] . '%% outdated (' . $outdated . ')', $percent[2] . '%% missing (' . $missing . ')', $percent[3] . '%% without EN-Revision (' . $no_tag . ')');
$title = 'Details for ' . $LANGUAGES[$lang] . ' PHP Manual';
$graph = new PieGraph(530, 300);
$graph->SetShadow();
$graph->title->Set($title);
$graph->title->Align('left');
$graph->title->SetFont(FF_FONT1, FS_BOLD);
$graph->legend->Pos(0.02, 0.18, "right", "center");
$graph->subtitle->Set('(Total: ' . $total_files_lang . ' files)');
$graph->subtitle->Align('left');
$graph->subtitle->SetColor('darkred');
$t1 = new Text(date('m/d/Y'));
$t1->SetPos(522, 294);
$t1->SetFont(FF_FONT1, FS_NORMAL);
$t1->Align("right", 'bottom');
$t1->SetColor("black");
$graph->AddText($t1);
$p1 = new PiePlot3D($data);
$p1->SetSliceColors(array("#68d888", "#ff6347", "#dcdcdc", "#f4a460"));
if ($total_files_lang != $up_to_date) {
$p1->ExplodeAll();
}
$p1->SetCenter(0.35, 0.55);
$p1->value->Show(false);
$p1->SetLegends($legend);
$graph->Add($p1);
$graph->Stroke("../www/images/revcheck/info_revcheck_php_{$lang}.png");
}
示例3: ScatterPlot
$legtext25->SetPos(70, 597);
$legtext25->SetColor("black");
$legtext25->SetFont(FF_FONT1, FS_BOLD, 16);
$graph->AddText($legtext25);
$legende50 = new ScatterPlot(array(120), array(50));
$legende50->mark->SetType(MARK_FILLEDCIRCLE);
$legende50->mark->SetColor("orange@0.5");
$legende50->mark->SetFillColor("orange@0.4");
$legende50->mark->SetSize(10);
$graph->Add($legende50);
$legtext50 = new Text(" < 50%");
$legtext50->SetPos(70, 567);
$legtext50->SetColor("black");
$legtext50->SetFont(FF_FONT1, FS_BOLD, 16);
$graph->AddText($legtext50);
$legende100 = new ScatterPlot(array(150), array(50));
$legende100->mark->SetType(MARK_FILLEDCIRCLE);
$legende100->mark->SetColor("red@0.5");
$legende100->mark->SetFillColor("red@0.4");
$legende100->mark->SetSize(10);
$graph->Add($legende100);
$legtext100 = new Text(" > 50%");
$legtext100->SetPos(70, 537);
$legtext100->SetColor("black");
$legtext100->SetFont(FF_FONT1, FS_BOLD, 16);
$graph->AddText($legtext100);
$graph->Stroke();
?>
示例4: create_graph_barplot
function create_graph_barplot($text, $datay, $width, $height)
{
$margex = 140;
$graph = new Graph($width, $height);
$tab_txt = explode('|', $text);
$txt = new Text($tab_txt[0]);
$txt->SetPos(0, $height - 40);
$txt->SetColor('red');
$txtb = new Text($tab_txt[1] . ' ' . $tab_txt[2] . ' ' . $tab_txt[3]);
$txtb->SetPos(0, $height / 2);
$graph->AddText($txt);
$graph->AddText($txtb);
$graph->SetScale('textlin', 0, max($datay));
$graph->SetBox();
$graph->xaxis->HideLabels();
$graph->yaxis->HideLabels();
$graph->yaxis->SetPos('max');
$graph->yaxis->SetTitle(max($datay), 'high');
$graph->yaxis->SetTitleMargin(15);
$graph->yaxis->SetTitleSide(SIDE_RIGHT);
$graph->xgrid->Show();
$graph->img->SetMargin($margex, 15, 1, 1);
$graph->SetFrame(true, 'black', 0);
$graph->ygrid->SetWeight(0, 0);
$graph->ygrid->SetFill(false);
$graph->xaxis->SetTextTickInterval(12, 0);
$bplot = new BarPlot($datay);
$graph->Add($bplot);
return $graph;
}
示例5: StrokeAngleLabels
function StrokeAngleLabels($pos, $type)
{
if (!$this->show_angle_label) {
return;
}
$x0 = round($this->img->left_margin + $this->img->plotwidth / 2) + 1;
$d = max($this->img->plotwidth, $this->img->plotheight) * 1.42;
$a = $this->angle_step;
$t = new Text();
$t->SetColor($this->angle_fontcolor);
$t->SetFont($this->angle_fontfam, $this->angle_fontstyle, $this->angle_fontsize);
$xright = $this->img->width - $this->img->right_margin;
$ytop = $this->img->top_margin;
$xleft = $this->img->left_margin;
$ybottom = $this->img->height - $this->img->bottom_margin;
$ha = 'left';
$va = 'center';
$w = $this->img->plotwidth / 2;
$h = $this->img->plotheight / 2;
$xt = $x0;
$yt = $pos;
$margin = 5;
$tl = $this->angle_tick_len;
// Outer len
$tl2 = $this->angle_tick_len2;
// Interior len
$this->img->SetColor($this->angle_tick_color);
$rot90 = $this->img->a == 90;
if ($type == POLAR_360) {
$ca1 = atan($h / $w) / M_PI * 180;
$ca2 = 180 - $ca1;
$ca3 = $ca1 + 180;
$ca4 = 360 - $ca1;
$end = 360;
while ($a < $end) {
$ca = cos($a / 180 * M_PI);
$sa = sin($a / 180 * M_PI);
$x = $d * $ca;
$y = $d * $sa;
$xt = 1000;
$yt = 1000;
if ($a <= $ca1 || $a >= $ca4) {
$yt = $pos - $w * $y / $x;
$xt = $xright + $margin;
if ($rot90) {
$ha = 'center';
$va = 'top';
} else {
$ha = 'left';
$va = 'center';
}
$x1 = $xright - $tl2;
$x2 = $xright + $tl;
$y1 = $y2 = $yt;
} elseif ($a > $ca1 && $a < $ca2) {
$xt = $x0 + $h * $x / $y;
$yt = $ytop - $margin;
if ($rot90) {
$ha = 'left';
$va = 'center';
} else {
$ha = 'center';
$va = 'bottom';
}
$y1 = $ytop + $tl2;
$y2 = $ytop - $tl;
$x1 = $x2 = $xt;
} elseif ($a >= $ca2 && $a <= $ca3) {
$yt = $pos + $w * $y / $x;
$xt = $xleft - $margin;
if ($rot90) {
$ha = 'center';
$va = 'bottom';
} else {
$ha = 'right';
$va = 'center';
}
$x1 = $xleft + $tl2;
$x2 = $xleft - $tl;
$y1 = $y2 = $yt;
} else {
$xt = $x0 - $h * $x / $y;
$yt = $ybottom + $margin;
if ($rot90) {
$ha = 'right';
$va = 'center';
} else {
$ha = 'center';
$va = 'top';
}
$y1 = $ybottom - $tl2;
$y2 = $ybottom + $tl;
$x1 = $x2 = $xt;
}
if ($a != 0 && $a != 180) {
$t->Align($ha, $va);
if ($this->show_angle_mark) {
$a .= '°';
}
$t->Set($a);
//.........这里部分代码省略.........
示例6: NetworkTable
pg_close($coop);
include "../../../include/jpgraph/jpgraph.php";
include "../../../include/jpgraph/jpgraph_bar.php";
include "../../../include/jpgraph/jpgraph_line.php";
include "../../../include/network.php";
$nt = new NetworkTable("IACLIMATE");
$cities = $nt->table;
$graph = new Graph(600, 400, "example1");
$graph->SetScale("textlin", 0, 100);
$graph->img->SetMargin(40, 5, 35, 60);
$graph->xaxis->SetTickLabels($xdata);
$graph->xaxis->SetTextTickInterval(100);
$graph->xaxis->SetLabelAngle(90);
$graph->xaxis->SetTitle("Precip [inches]");
$graph->xaxis->SetTitleMargin(30);
$graph->yaxis->SetTitle("Cumulative Distribution (percent)");
$graph->title->Set($cities[$station]['name'] . " Precip Accumulation Probabilities");
$graph->subtitle->Set($subtitle);
$l1 = new LinePlot($ydata);
$l1->SetColor("blue");
$l1->SetWeight(2);
$l1->AddArea($hm, $hm, LP_AREA_FILLED, "lightred");
$l1->AddArea($h95, $h95, LP_AREA_FILLED, "lightred");
$l1->AddArea($h5, $h5, LP_AREA_FILLED, "lightred");
$txt = new Text("Diagnostics\n Min: {$lowVal} ({$lowYear})\n 95%: " . ($lowVal + $h95 * 0.01) . "\n~Mean: " . ($lowVal + $hm * 0.01) . "\n SD: {$stddev}\n 5%: " . ($lowVal + $h5 * 0.01) . "\n Max: {$hiVal} ({$hiYear})\n");
$txt->SetPos(0.71, 0.128);
$txt->SetFont(FF_FONT1, FS_NORMAL);
$txt->SetColor("blue");
$graph->Add($l1);
$graph->Add($txt);
$graph->Stroke();
示例7: CanvasGraph
$txt = "The day was rapidly becoming more and\nmore strange.\n\nNot only had he managed to\nget by the first pass without so much as\na hint of questions but now when he\ncould feel that the second pass wouldn't\nlong be noone had yet seen him.";
$w = 950;
$h = 250;
$xm = 20;
$ym = 20;
$tw = 300;
$g = new CanvasGraph($w, $h);
$img = $g->img;
// Alignment for anchor points to use
$palign = array('left', 'center', 'right');
$n = count($palign);
$t = new Text($txt);
$y = $ym;
for ($i = 0; $i < $n; ++$i) {
$x = $xm + $i * $tw;
$t->SetColor('black');
$t->SetAlign('left', 'top');
$t->SetFont(FF_ARIAL, FS_NORMAL, 11);
$t->SetBox();
$t->SetParagraphAlign($palign[$i]);
$t->Stroke($img, $x, $y);
$img->SetColor('black');
$img->SetFont(FF_FONT1, FS_BOLD);
$img->SetTextAlign('center', 'top');
$img->StrokeText($x + 140, $y + 160, '"' . $palign[$i] . '"' . ' pargraph align');
}
// .. and send back to browser
$g->Stroke();
?>
示例8: showError
function showError($msj, $G_SIZE = array(400, 300), $G_TITLE = "")
{
$graph = new CanvasGraph($G_SIZE[0], $G_SIZE[1], "auto");
if ($msj == 'nothing') {
global $_MSJ_NOTHING;
$titulo = utf8_decode($_MSJ_NOTHING);
$title = new Text($G_TITLE);
$title->ParagraphAlign('center');
$title->SetFont(FF_FONT2, FS_BOLD);
$title->SetMargin(3);
$title->SetAlign('center');
$title->Center(0, $G_SIZE[0], $G_SIZE[1] / 2);
$graph->AddText($title);
} else {
$titulo = utf8_decode($msj);
}
$t1 = new Text($titulo);
$t1->SetBox("white", "black", true);
$t1->ParagraphAlign("center");
$t1->SetColor("black");
$graph->AddText($t1);
$graph->img->SetColor('navy');
$graph->img->SetTextAlign('center', 'bottom');
$graph->img->Rectangle(0, 0, $G_SIZE[0] - 1, $G_SIZE[1] - 1);
$graph->Stroke();
}
示例9: top
function top($VAR)
{
global $smarty, $C_translate, $C_auth;
# Get the period type, default to month
if (empty($VAR['period'])) {
$p = 'm';
} else {
$p = $VAR['period'];
}
# Load the jpgraph class
include PATH_GRAPH . "jpgraph.php";
include PATH_GRAPH . "jpgraph_bar.php";
# check the validation for this function
if (!$C_auth->auth_method_by_name($this->module, 'search')) {
$error = $C_translate->translate('module_non_auth', '', '');
include PATH_GRAPH . "jpgraph_canvas.php";
$graph = new CanvasGraph(460, 55, "auto");
$t1 = new Text($error);
$t1->Pos(0.2, 0.5);
$t1->SetOrientation("h");
$t1->SetBox("white", "black", 'gray');
$t1->SetFont(FF_FONT1, FS_NORMAL);
$t1->SetColor("black");
$graph->AddText($t1);
$graph->Stroke();
exit;
}
# Get the period start & end
switch ($p) {
# By Weeks:
case 'w':
$interval = "1";
$width = ".9";
$title = 'Top Accounts for Last Last Week';
$dow = date('w');
$start_str = mktime(0, 0, 0, date('m'), date('d') - $dow, date('y'));
$end_str = mktime(23, 59, 59, date('m'), date('d'), date('y'));
break;
# By Months:
# By Months:
case 'm':
$interval = "3";
$width = ".6";
$title = 'Top Accounts for Last Last Month';
$start_str = mktime(0, 0, 0, date('m'), 1, date('y'));
$end_str = mktime(23, 59, 59, date('m'), date('d'), date('y'));
break;
# By Years:
# By Years:
case 'y':
$interval = "1";
$width = ".8";
$title = 'Top Accounts for Last Last Year';
$start_str = mktime(0, 0, 0, 1, 1, date('y'));
$end_str = mktime(23, 59, 59, date('m'), date('d'), date('y'));
break;
}
##############################@@@@@@@@
# Get accounts & sales for this period
##############################@@@@@@@@
$db =& DB();
$sql = 'SELECT account_id,total_amt FROM ' . AGILE_DB_PREFIX . 'invoice WHERE
date_orig >= ' . $db->qstr($start_str) . ' AND date_orig <= ' . $db->qstr($end_str) . ' AND
site_id = ' . $db->qstr(DEFAULT_SITE);
$result = $db->Execute($sql);
if (@$result->RecordCount() == 0) {
$file = fopen(PATH_THEMES . 'default_admin/images/invisible.gif', 'r');
fpassthru($file);
exit;
}
while (!$result->EOF) {
$amt = $result->fields['total_amt'];
$acct = $result->fields['account_id'];
if (!isset($arr[$acct])) {
$arr[$acct] = 0;
}
$arr[$acct] += $amt;
$result->MoveNext();
}
$i = 0;
while (list($key, $var) = each(@$arr)) {
# Get the user name
$sql = 'SELECT first_name,last_name FROM ' . AGILE_DB_PREFIX . 'account WHERE
id = ' . $db->qstr($key) . ' AND
site_id = ' . $db->qstr(DEFAULT_SITE);
$rs = $db->Execute($sql);
$_lbl[] = strtoupper(substr($rs->fields['first_name'], 0, 1)) . ". " . $rs->fields['last_name'];
$_datay[] = $var;
$i++;
}
### Sort the arrays
array_multisort($_datay, SORT_DESC, SORT_NUMERIC, $_lbl);
### Limit the results to 10 or less
for ($i = 0; $i < count($_lbl); $i++) {
$lbl[$i] = $_lbl[$i];
$datay[$i] = $_datay[$i];
if ($i >= 9) {
$i = count($_lbl);
}
}
//.........这里部分代码省略.........
示例10: CanvasGraph
function BAR_graph($module, $type, $start, $extra_fields)
{
global $C_translate, $C_auth;
include_once PATH_CORE . 'validate.inc.php';
$dt = new CORE_validate();
include PATH_GRAPH . "jpgraph.php";
####################################################################
### Check if 'search' is authorized for this account
####################################################################
# check the validation for this function
if ($C_auth->auth_method_by_name($module, 'search')) {
# validate this file exists, and include it.
if (file_exists(PATH_MODULES . '/' . $module . '/' . $module . '.inc.php')) {
include_once PATH_MODULES . '/' . $module . '/' . $module . '.inc.php';
} else {
### Not exist!
$error = $C_translate->translate('module_non_existant', '', '');
}
} else {
### Not auth
$error = $C_translate->translate('module_non_auth', '', '');
}
if (isset($error)) {
include PATH_GRAPH . "jpgraph_canvas.php";
// Create the graph.
$graph = new CanvasGraph(460, 55, "auto");
$t1 = new Text($error);
$t1->Pos(0.2, 0.5);
$t1->SetOrientation("h");
$t1->SetBox("white", "black", 'gray');
$t1->SetFont(FF_FONT1, FS_NORMAL);
$t1->SetColor("black");
$graph->AddText($t1);
$graph->Stroke();
exit;
}
####################################################################
### BY WEEK
####################################################################
if ($type == 'week') {
$FONT_SIZE = 7;
$AbsWidth = 12;
$interval = 4;
$type = $C_translate->translate('week', '', '');
if ($start == "" || $start <= 12) {
## Get the beginning/end of this week
$start_str = mktime(24, 0, 0, 12, 31, date("Y") - 1);
$start = date(UNIX_DATE_FORMAT, $start_str);
$end_str = mktime(24, 0, 0, 12, 30, date("Y", $start_str));
$end = date(UNIX_DATE_FORMAT, $end_str);
} else {
## Get the beginning/end of the specified week
$start_str = mktime(24, 0, 0, 12, 31, date("{$start}") - 1);
$start = date(UNIX_DATE_FORMAT, $start_str);
$end_str = mktime(24, 0, 0, 12, 30, date("Y", $start_str));
$end = date(UNIX_DATE_FORMAT, $end_str);
}
### Set the constraint array:
$curr_str = $start_str;
while ($curr_str <= $end_str) {
$new_curr_str = mktime(0, 0, 0, date("m", $curr_str), date("d", $curr_str) + 7, date("Y", $curr_str));
$constraint_array[] = array('start' => $curr_str, 'end' => $new_curr_str);
$curr_str = $new_curr_str;
$default_array[] = 0;
}
} else {
if ($type == 'month') {
$FONT_SIZE = 10;
$AbsWidth = 12;
$TickLables = $gDateLocale->GetShortMonth();
$interval = 1;
$type = $C_translate->translate('month', '', '');
if ($start == "" || $start < 12) {
## Get the beginning/end of this week
$start_str = mktime(24, 0, 0, 12, 31, date("Y") - 1);
$start = date(UNIX_DATE_FORMAT, $start_str);
$end_str = mktime(24, 0, 0, 12, 30, date("Y", $start_str));
$end = date(UNIX_DATE_FORMAT, $end_str);
} else {
## Get the beginning/end of the specified week
## Get the beginning/end of this week
$start_str = mktime(24, 0, 0, 12, 31, date("{$start}") - 1);
$start = date(UNIX_DATE_FORMAT, $start_str);
$end_str = mktime(24, 0, 0, 12, 30, date("Y", $start_str));
$end = date(UNIX_DATE_FORMAT, $end_str);
}
### Set the constraint array:
$curr_str = $start_str;
while ($curr_str <= $end_str) {
$new_curr_str = mktime(0, 0, 0, date("m", $curr_str) + 1, date("d", $curr_str), date("Y", $curr_str));
$constraint_array[] = array('start' => $curr_str, 'end' => $new_curr_str);
$curr_str = $new_curr_str;
$default_array[] = 0;
}
} else {
if ($type == 'year') {
$FONT_SIZE = 10;
$interval = 1;
$AbsWidth = 13;
$type = $C_translate->translate('year', '', '');
//.........这里部分代码省略.........
示例11: Stroke
function Stroke(&$img, &$xscale, &$yscale)
{
$numpoints = count($this->coords[0]);
if (isset($this->coords[1])) {
if (count($this->coords[1]) != $numpoints) {
JpGraphError::Raise("JpGraph Error: Number of X and Y points are not equal.<br>\r\n\t\t\t\t\tNumber of X-points:" . count($this->coords[1]) . "<br>\r\n\t\t\t\t\tNumber of Y-points:{$numpoints}");
} else {
$exist_x = true;
}
} else {
$exist_x = false;
}
if ($exist_x) {
$xs = $this->coords[1][0];
} else {
$xs = 0;
}
$img->SetStartPoint($xscale->Translate($xs), $yscale->Translate($this->coords[0][0]));
if ($this->filled) {
$cord[] = $xscale->Translate($xs);
$cord[] = $yscale->Translate($yscale->GetMinVal());
}
$cord[] = $xscale->Translate($xs);
$cord[] = $yscale->Translate($this->coords[0][0]);
$yt_old = $yscale->Translate($this->coords[0][0]);
$img->SetColor($this->color);
$img->SetLineWeight($this->weight);
$img->SetLineStyle($this->line_style);
for ($pnts = 1; $pnts < $numpoints; ++$pnts) {
if ($exist_x) {
$x = $this->coords[1][$pnts];
} else {
$x = $pnts;
}
$xt = $xscale->Translate($x);
$yt = $yscale->Translate($this->coords[0][$pnts]);
$cord[] = $xt;
$cord[] = $yt;
if ($this->step_style) {
$img->StyleLineTo($xt, $yt_old);
$img->StyleLineTo($xt, $yt);
} else {
$y = $this->coords[0][$pnts];
if (is_numeric($y) || is_string($y) && $y != "-") {
$tmp1 = $this->coords[0][$pnts];
$tmp2 = $this->coords[0][$pnts - 1];
if (is_numeric($tmp1) && (is_numeric($tmp2) || $tmp2 == "-")) {
$img->StyleLineTo($xt, $yt);
} else {
$img->SetStartPoint($xt, $yt);
}
}
}
$yt_old = $yt;
if ($this->value->show) {
$sval = sprintf($this->value->format, $this->coords[0][$pnts]);
$txt = new Text($sval, $xt, $yt - $this->value->margin);
$txt->SetFont($this->value->ff, $this->value->fs, $this->value->fsize);
$txt->Align("center", "bottom");
$txt->SetOrientation($this->value->angle);
$txt->SetColor($this->value->color);
$txt->Stroke($img);
}
}
if ($this->filled) {
$cord[] = $xt;
$cord[] = $yscale->Translate($yscale->GetMinVal());
$img->SetColor($this->fill_color);
$img->FilledPolygon($cord);
$img->SetColor($this->color);
$img->Polygon($cord);
}
$adjust = 0;
if ($this->filled) {
$adjust = 2;
}
for ($i = $adjust; $i < count($cord) - $adjust; $i += 2) {
if (is_numeric($this->coords[0][($i - $adjust) / 2])) {
$this->mark->Stroke($img, $cord[$i], $cord[$i + 1]);
}
}
}
示例12: Odometer
$odo[$i] = new Odometer();
$odo[$i]->SetColor('lightgray:1.9');
$odo[$i]->needle->Set(10 + $i * 17);
$odo[$i]->needle->SetShadow();
if ($i < 2) {
$fsize = 10;
} else {
$fsize = 8;
}
$odo[$i]->scale->label->SetFont(FF_ARIAL, FS_NORMAL, $fsize);
$odo[$i]->AddIndication(92, 100, 'red');
$odo[$i]->AddIndication(80, 92, 'orange');
$odo[$i]->AddIndication(60, 80, 'yellow');
}
// Create the layout
$row1 = new LayoutHor(array($odo[0], $odo[1]));
$row2 = new LayoutHor(array($odo[2], $odo[3], $odo[4]));
$col1 = new LayoutVert(array($row1, $row2));
// Add the odometer to the graph
$graph->Add($col1);
// Add an icon and text
$icon = new IconPlot('jpglogo.jpg', 250, 10, 0.85, 30);
$icon->SetAnchor('center', 'top');
$graph->Add($icon);
$t = new Text('JpGraph', 250, 70);
$t->SetAlign('center', 'top');
#$t->SetFont(FF_VERA,FS_BOLD,11);
$t->SetColor('darkgray');
$graph->Add($t);
// ... and finally stroke and stream the image back to the browser
$graph->Stroke();
示例13: Init
/**
* Construct the graph
*
*/
private function Init()
{
// Setup limits for color indications
$lowx = $this->iXMin;
$highx = $this->iXMax;
$lowy = $this->iYMin;
$highy = $this->iYMax;
$width = $this->iWidth;
$height = $this->iHeight;
// Margins
$lm = 50;
$rm = 40;
$tm = 60;
$bm = 40;
if ($width <= 300 || $height <= 250) {
$labelsize = 8;
$lm = 25;
$rm = 25;
$tm = 45;
$bm = 25;
} elseif ($width <= 450 || $height <= 300) {
$labelsize = 8;
$lm = 30;
$rm = 30;
$tm = 50;
$bm = 30;
} elseif ($width <= 600 || $height <= 400) {
$labelsize = 9;
} else {
$labelsize = 11;
}
if ($this->iSubTitle == '') {
$tm -= $labelsize + 4;
}
$graph = new Graph($width, $height);
$graph->SetScale('intint', $lowy, $highy, $lowx, $highx);
$graph->SetMargin($lm, $rm, $tm, $bm);
$graph->SetMarginColor($this->iMarginColor[$this->iColorMap]);
$graph->SetClipping();
$graph->title->Set($this->iTitle);
$graph->subtitle->Set($this->iSubTitle);
$graph->title->SetFont(FF_ARIAL, FS_BOLD, $labelsize + 4);
$graph->subtitle->SetFont(FF_ARIAL, FS_BOLD, $labelsize + 1);
$graph->SetBox(true, 'black@0.3');
$graph->xaxis->SetFont(FF_ARIAL, FS_BOLD, $labelsize);
$graph->yaxis->SetFont(FF_ARIAL, FS_BOLD, $labelsize);
$graph->xaxis->scale->ticks->Set(CCBPGraph::TickStep, CCBPGraph::TickStep);
$graph->yaxis->scale->ticks->Set(CCBPGraph::TickStep, CCBPGraph::TickStep);
$graph->xaxis->HideZeroLabel();
$graph->yaxis->HideZeroLabel();
$graph->xaxis->SetLabelFormatString('%d%%');
$graph->yaxis->SetLabelFormatString('%d%%');
// For the x-axis we adjust the color so labels on the left of the Y-axis are in black
$n1 = floor(abs($this->iXMin / 25)) + 1;
$n2 = floor($this->iXMax / 25);
if ($this->iColorMap == 0) {
$xlcolors = array();
for ($i = 0; $i < $n1; ++$i) {
$xlcolors[$i] = 'black';
}
for ($i = 0; $i < $n2; ++$i) {
$xlcolors[$n1 + $i] = 'lightgray:1.5';
}
$graph->xaxis->SetColor('gray', $xlcolors);
$graph->yaxis->SetColor('gray', 'lightgray:1.5');
} else {
$graph->xaxis->SetColor('darkgray', 'darkgray:0.8');
$graph->yaxis->SetColor('darkgray', 'darkgray:0.8');
}
$graph->SetGridDepth(DEPTH_FRONT);
$graph->ygrid->SetColor('gray@0.6');
$graph->ygrid->SetLineStyle('dotted');
$graph->ygrid->Show();
$graph->xaxis->SetWeight(1);
$graph->yaxis->SetWeight(1);
$ytitle = new Text(CCBPGraph::YTitle, floor($lm * 0.75), ($height - $tm - $bm) / 2 + $tm);
#$ytitle->SetFont(FF_VERA,FS_BOLD,$labelsize+1);
$ytitle->SetAlign('right', 'center');
$ytitle->SetAngle(90);
$graph->Add($ytitle);
$xtitle = new Text(CCBPGraph::XTitle, ($width - $lm - $rm) / 2 + $lm, $height - 10);
#$xtitle->SetFont(FF_VERA,FS_BOLD,$labelsize);
$xtitle->SetAlign('center', 'bottom');
$graph->Add($xtitle);
$df = 'D j:S M, Y';
if ($width < 400) {
$df = 'D j:S M';
}
$time = new Text(date($df), $width - 10, $height - 10);
$time->SetAlign('right', 'bottom');
#$time->SetFont(FF_VERA,FS_NORMAL,$labelsize-1);
$time->SetColor('darkgray');
$graph->Add($time);
// Use an accumulated fille line graph to create the colored bands
$n = 3;
for ($i = 0; $i < $n; ++$i) {
//.........这里部分代码省略.........
示例14: strokeLabels
function strokeLabels()
{
$t = new Text();
$t->SetColor($this->labelColor);
$t->SetFont($this->labelFF, $this->labelFS, $this->labelFSize);
$t->SetAlign('center', 'center');
foreach ($this->labels as $cont_idx => $pos) {
if ($cont_idx >= 10) {
return;
}
foreach ($pos as $idx => $coord) {
$t->Set(sprintf("%.1f", $coord[2]));
$t->SetAngle($coord[3]);
$t->Stroke($this->g->img, $coord[0], $coord[1]);
}
}
}
示例15: Stroke
function Stroke($img, $aVal, $x, $y)
{
if ($this->show) {
if ($this->negformat == "") {
$this->negformat = $this->format;
}
if ($this->negcolor == "") {
$this->negcolor = $this->color;
}
if ($aVal == NULL || is_string($aVal) && ($aVal == "" || $aVal == "-" || $aVal == "x")) {
return;
}
if ($aVal >= 0) {
$sval = sprintf($this->format, $aVal);
} else {
$sval = sprintf($this->negformat, $aVal);
}
$txt = new Text($sval, $x, $y - sign($aVal) * $this->margin);
$txt->SetFont($this->ff, $this->fs, $this->fsize);
if ($this->valign == "") {
if ($aVal >= 0) {
$valign = "bottom";
} else {
$valign = "top";
}
} else {
$valign = $this->valign;
}
$txt->Align($this->halign, $valign);
$txt->SetOrientation($this->angle);
if ($aVal > 0) {
$txt->SetColor($this->color);
} else {
$txt->SetColor($this->negcolor);
}
$txt->Stroke($img);
}
}