本文整理汇总了PHP中Text::Align方法的典型用法代码示例。如果您正苦于以下问题:PHP Text::Align方法的具体用法?PHP Text::Align怎么用?PHP Text::Align使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Text
的用法示例。
在下文中一共展示了Text::Align方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Create
function Create()
{
if ($this->ready) {
return;
}
$this->graph = new CanvasGraph($this->width, $this->height, 'auto');
$this->graph->SetMargin(5, 11, 6, 11);
/*
$this->graph->SetShadow();
$this->graph->SetMarginColor( "teal");
$this->graph->InitFrame();
*/
$hpos = 15;
$text = new Text("ADEI", $this->width / 2, $hpos);
$text->SetFont(FF_ARIAL, FS_BOLD, 24);
$text->Align('center', 'top');
$text->Stroke($this->graph->img);
$hpos += $text->GetTextHeight($this->graph->img) + 10;
// $msg = "Welcome to the Advanced Data Extraction Infrastructure! Please";
$msg = preg_replace(array("/\n([^\n])/"), array(' \\1'), file_get_contents("docs/welcome.txt"));
$text_width = $this->width - 50;
if ($text_width < 100) {
return;
}
$text = new Text($msg, $this->width / 2, $hpos);
$text->SetFont(FF_ARIAL, FS_NORMAL, 18);
$text->Align('center', 'top');
$width = $text->GetWidth($this->graph->img);
if ($width > $text_width) {
$char_width = ceil($width / strlen($msg));
$cpl = $text_width / $char_width;
$wmsg = wordwrap($msg, $cpl, "\n", true);
$text->Set($wmsg);
$width = $text->GetWidth($this->graph->img);
while ($width > $text_width && $cpl > 10) {
$cpl -= $cpl / 10;
$wmsg = wordwrap($msg, $cpl, "\n", true);
$text->Set($wmsg);
$width = $text->GetWidth($this->graph->img);
}
}
$text->Stroke($this->graph->img);
// $text->ParagraphAlign('center');
// $text->SetBox( "white", "black","gray");
/*
// $text->Align('left', 'top');
// $text->ParagraphAlign('left');
// $text->SetBox( "white", "black","gray");
$width = $text->GetWidth($this->graph->img);
*/
// $text->Stroke( $this->graph->img);
}
示例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: 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 (is_numeric($aVal) && $aVal == 0 && $this->iHideZero) {
return;
}
// Since the value is used in different cirumstances we need to check what
// kind of formatting we shall use. For example, to display values in a line
// graph we simply display the formatted value, but in the case where the user
// has already specified a text string we don't fo anything.
if ($this->iFormCallback != '') {
$f = $this->iFormCallback;
$sval = call_user_func($f, $aVal);
} elseif (is_numeric($aVal)) {
if ($aVal >= 0) {
$sval = sprintf($this->format, $aVal);
} else {
$sval = sprintf($this->negformat, $aVal);
}
} else {
$sval = $aVal;
}
$y = $y - sign($aVal) * $this->margin;
$txt = new Text($sval, $x, $y);
$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);
}
}
示例4: 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);
//.........这里部分代码省略.........
示例5: Stroke
//.........这里部分代码省略.........
if ($aShowDetails) {
$ystart += $g->img->GetTextHeight($s);
}
if ($aShowEncodingDetails) {
$g->img->SetFont(FF_FONT2);
$ystart += $n * $g->img->GetTextHeight('0');
}
if ($spec->iStrokeDataBelow) {
$yend -= $th + $this->iDataBelowMargin;
}
$inunder = false;
$under_s = '';
$under_x = 0;
for ($i = 0; $i < $n; ++$i) {
$b = $spec->iBar[$i];
if ($aShowEncodingDetails) {
$s .= sprintf("%02d", $i) . " : {$b['0']}, {$b['1']}, {$b['2']}, {$b['3']}\n";
}
$bn = strlen($b[3]);
if ($b[2] == 0 && !$this->iNoHumanText) {
if (!$inunder) {
$inunder = true;
$under_x = $x;
$under_s = $b[0];
} else {
$under_s .= $b[0];
}
} else {
if ($inunder) {
$inunder = false;
if ($under_s != '') {
$t = new Text($under_s, ($under_x + $x - 1) / 2, $yend - $th / 1.3);
$t->SetFont($this->iFontFam, $this->iFontStyle, $this->iFontSize);
$t->Align('center', 'top');
$t->Stroke($g->img);
}
}
}
$startx = $x;
for ($j = 0; $j < $bn; ++$j) {
$wb = substr($b[3], $j, 1) * $w;
if ($j % 2 == $b[1]) {
$g->img->SetColor($this->iBkgColor);
} else {
$g->img->SetColor($this->iColor);
}
if ($b[2] == 1 || $this->iNoHumanText) {
$g->img->FilledRectangle($x, $ystart, $x + $wb - 1, $yend);
} else {
$g->img->FilledRectangle($x, $ystart, $x + $wb - 1, $yend - $th);
}
$x += $wb;
}
if ($this->iDebugBackground) {
$g->SetAlphaBlending();
if (($i & 1) == 0) {
$g->img->SetColor('lightblue@0.5');
} else {
$g->img->SetColor('yellow@0.5');
}
$g->img->FilledRectangle($startx, $ystart - 2, $x, $yend);
}
if ($spec->iInterCharModuleSpace) {
$x += $w;
}
}
示例6: Raise
function Raise($aMsg, $aHalt = true)
{
$img_iconerror = 'iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAaV' . 'BMVEX//////2Xy8mLl5V/Z2VvMzFi/v1WyslKlpU+ZmUyMjEh/' . 'f0VyckJlZT9YWDxMTDjAwMDy8sLl5bnY2K/MzKW/v5yyspKlpY' . 'iYmH+MjHY/PzV/f2xycmJlZVlZWU9MTEXY2Ms/PzwyMjLFTjea' . 'AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACx' . 'IAAAsSAdLdfvwAAAAHdElNRQfTBgISOCqusfs5AAABLUlEQVR4' . '2tWV3XKCMBBGWfkranCIVClKLd/7P2Q3QsgCxjDTq+6FE2cPH+' . 'xJ0Ogn2lQbsT+Wrs+buAZAV4W5T6Bs0YXBBwpKgEuIu+JERAX6' . 'wM2rHjmDdEITmsQEEmWADgZm6rAjhXsoMGY9B/NZBwJzBvn+e3' . 'wHntCAJdGu9SviwIwoZVDxPB9+Rc0TSEbQr0j3SA1gwdSn6Db0' . '6Tm1KfV6yzWGQO7zdpvyKLKBDmRFjzeB3LYgK7r6A/noDAfjtS' . 'IXaIzbJSv6WgUebTMV4EoRB8a2mQiQjgtF91HdKDKZ1gtFtQjk' . 'YcWaR5OKOhkYt+ZsTFdJRfPAApOpQYJTNHvCRSJR6SJngQadfc' . 'vd69OLMddVOPCGVnmrFD8bVYd3JXfxXPtLR/+mtv59/ALWiiMx' . 'qL72fwAAAABJRU5ErkJggg==';
if (function_exists('imagetypes')) {
$supported = imagetypes();
} else {
$supported = 0;
}
if (!function_exists('imagecreatefromstring')) {
$supported = 0;
}
if (ob_get_length() || headers_sent() || !($supported & IMG_PNG)) {
// Special case for headers already sent or that the installation doesn't support
// the PNG format (which the error icon is encoded in).
// Dont return an image since it can't be displayed
echo $this->iTitle . ' ' . $aMsg . '\\n';
return;
}
$aMsg = wordwrap($aMsg, 55);
$lines = substr_count($aMsg, '\\n');
// Create the error icon GD
$erricon = imagecreatefromstring(base64_decode($img_iconerror));
// Create an image that contains the error text.
$w = 400;
$h = 100 + 15 * max(0, $lines - 3);
$img = new Image($w, $h);
// Drop shadow
$img->SetColor('gray');
$img->FilledRectangle(5, 5, $w - 1, $h - 1, 10);
$img->SetColor('gray:0.7');
$img->FilledRectangle(5, 5, $w - 3, $h - 3, 10);
// Window background
$img->SetColor(array(188, 209, 193));
$img->FilledRectangle(1, 1, $w - 5, $h - 5);
$img->CopyCanvasH($img->img, $erricon, 5, 30, 0, 0, 40, 40);
// Window border
$img->SetColor('black');
$img->Rectangle(1, 1, $w - 5, $h - 5);
$img->Rectangle(0, 0, $w - 4, $h - 4);
// Window top row
$img->SetColor('darkred');
for ($y = 3; $y < 18; $y += 2) {
$img->Line(1, $y, $w - 6, $y);
}
// 'White shadow'
$img->SetColor('white');
// Left window edge
$img->Line(2, 2, 2, $h - 5);
$img->Line(2, 2, $w - 6, 2);
// 'Gray button shadow'
$img->SetColor('darkgray');
// Gray window shadow
$img->Line(2, $h - 6, $w - 5, $h - 6);
$img->Line(3, $h - 7, $w - 5, $h - 7);
// Window title
$m = floor($w / 2 - 5);
$l = 100;
$img->SetColor('lightgray:1.3');
$img->FilledRectangle($m - $l, 2, $m + $l, 16);
// Stroke text
$img->SetColor('darkred:0.9');
$img->SetFont(FF_FONT2, FS_BOLD);
$img->StrokeText($m - 70, 15, $this->iTitle);
$img->SetColor('black');
$img->SetFont(FF_FONT1, FS_NORMAL);
$txt = new Text($aMsg, 52, 25);
$txt->Align('left', 'top');
$txt->Stroke($img);
if ($this->iDest) {
$img->Stream($this->iDest);
} else {
$img->Headers();
$img->Stream();
}
}
示例7: error_text
function error_text($title, $text)
{
if (OFF == plugin_config_get('eczlibrary')) {
$graph = new CanvasGraph(300, 380);
$txt = new Text($text, 150, 100);
$txt->Align("center", "center", "center");
$txt->SetFont($t_graph_font, FS_BOLD);
$graph->title->Set($title);
$graph->title->SetFont($t_graph_font, FS_BOLD);
$graph->AddText($txt);
$graph->Stroke();
} else {
$im = imagecreate(300, 300);
/* @todo check: error graphs dont support utf8 */
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 5, 0, 0, $text, $textcolor);
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
}
die;
}
示例8: error_check
function error_check($bug_count, $title)
{
if (0 == $bug_count) {
$t_graph_font = graph_get_font();
$graph = new CanvasGraph(300, 380);
$txt = new Text(lang_get('not_enough_data'), 150, 100);
$txt->Align("center", "center", "center");
$txt->SetFont($t_graph_font, FS_BOLD);
$graph->title->Set($title);
$graph->title->SetFont($t_graph_font, FS_BOLD);
$graph->AddText($txt);
$graph->Stroke();
die;
}
}
示例9: CanvasGraph
<?php
// content="text/plain; charset=utf-8"
// $Id: canvasex01.php,v 1.3 2002/10/23 08:17:23 aditus Exp $
require_once 'jpgraph/jpgraph.php';
require_once 'jpgraph/jpgraph_canvas.php';
// Setup a basic canvas we can work
$g = new CanvasGraph(400, 300, 'auto');
$g->SetMargin(5, 11, 6, 11);
$g->SetShadow();
$g->SetMarginColor("teal");
// We need to stroke the plotarea and margin before we add the
// text since we otherwise would overwrite the text.
$g->InitFrame();
// Draw a text box in the middle
$txt = "This\nis\na TEXT!!!";
$t = new Text($txt, 200, 10);
$t->SetFont(FF_ARIAL, FS_BOLD, 40);
// How should the text box interpret the coordinates?
$t->Align('center', 'top');
// How should the paragraph be aligned?
$t->ParagraphAlign('center');
// Add a box around the text, white fill, black border and gray shadow
$t->SetBox("white", "black", "gray");
// Stroke the text
$t->Stroke($g->img);
// Stroke the graph
$g->Stroke();
?>
示例10: Stroke
//.........这里部分代码省略.........
$width = $tw;
}
$g = new CanvasGraph($width, $height);
$g->img->SetImgFormat($this->iImgFormat);
$g->SetMarginColor($this->iBkgColor);
$g->SetColor($this->iBkgColor);
if ($this->iShowFrame) {
$g->InitFrame();
} else {
$g->frame_weight = 0;
$g->InitFrame();
}
$g->img->SetLineWeight(1);
$g->img->SetColor('black');
$x = $w * $spec->iLeftMargin;
$ystart = $topmargin;
$inunder = false;
$under_s = '';
$startx = $x;
for ($r = 0; $r < count($spec->iBar); ++$r) {
$yend = $ystart + $this->iHeight - 1;
$x = $startx;
for ($i = 0; $i < $n; ++$i) {
$b = $spec->iBar[$r][$i];
$bn = strlen($b[3]);
for ($j = 0; $j < $bn; ++$j) {
$wb = substr($b[3], $j, 1) * $w;
if (!($j % 2)) {
$g->img->SetColor($this->iColor);
$g->img->FilledRectangle($x, $ystart, $x + $wb - 1, $yend);
}
$x += $wb;
}
}
$ystart += $this->iHeight;
}
// row
$g->img->SetColor($this->iColor);
if ($spec->iStrokeDataBelow) {
// Center data underneath
$y = $yend + $txtmargin;
$bw = $totwidth - $spec->iLeftMargin * $w - $spec->iRightMargin * $w;
$x = $spec->iLeftMargin * $w + floor($bw / 2);
$g->img->SetTextAlign('center', 'top');
$g->img->SetFont($this->iFontFam, $this->iFontStyle, $this->iFontSize);
$g->img->StrokeText($x, $y, $data);
}
if (ADD_DEMOTXT) {
$ystart = 0;
$t = new Text(" DEMO ", $totwidth / 2, $ystart);
if ($this->iModuleWidth > 1) {
if ($this->iModuleWidth > 2) {
$t->SetFont(FF_ARIAL, FS_BOLD, 24);
$step = 120;
} else {
$t->SetFont(FF_ARIAL, FS_BOLD, 16);
$step = 100;
}
} else {
$t->SetFont(FF_ARIAL, FS_BOLD, 12);
$step = 80;
}
$t->SetColor('red@0.5');
$t->Align('center', 'top');
$t->SetAngle(-15);
$n = ceil($totwidth / $step);
for ($y = $ystart; $y < $yend; $y += 50) {
for ($i = 0; $i < $n; ++$i) {
$t->SetPos(-30 + $i * $step, $y);
$t->Stroke($g->img);
}
}
}
if ($this->iVertical) {
$g->img->img = $this->Rotate($g->img->img, 90);
}
if ($this->iScale != 1) {
$nwidth = round($width * $this->iScale);
$nheight = round($height * $this->iScale);
if ($this->iVertical) {
$tmp = $height;
$height = $width;
$width = $tmp;
$tmp = $nheight;
$nheight = $nwidth;
$nwidth = $tmp;
}
$img = @imagecreatetruecolor($nwidth, $nheight);
if ($img) {
imagealphablending($img, true);
imagecopyresampled($img, $g->img->img, 0, 0, 0, 0, $nwidth, $nheight, $width, $height);
$g->img->CreateImgCanvas($nwidth, $nheight);
$g->img->img = $img;
} else {
return false;
}
}
$g->Stroke($aFile);
return true;
}
示例11: Stroke
function Stroke(&$img, &$xscale, &$yscale)
{
$img->SetLineWeight($this->weight);
for ($i = 0; $i < $this->numpoints - 1; $i++) {
$accy = 0;
$accy_neg = 0;
for ($j = 0; $j < $this->nbrplots; ++$j) {
$img->SetColor($this->plots[$j]->color);
if ($this->plots[$j]->coords[0][$i] > 0) {
$yt = $yscale->Translate($this->plots[$j]->coords[0][$i] + $accy);
$accyt = $yscale->Translate($accy);
$accy += $this->plots[$j]->coords[0][$i];
} else {
$yt = $yscale->Translate($this->plots[$j]->coords[0][$i] + $accy_neg);
$accyt = $yscale->Translate($accy_neg);
$accy_neg += $this->plots[$j]->coords[0][$i];
}
$xt = $xscale->Translate($i);
$abswidth = round($this->width * $xscale->scale_factor, 0);
$pts = array($xt, $accyt, $xt, $yt, $xt + $abswidth, $yt, $xt + $abswidth, $accyt);
if ($this->plots[$j]->grad) {
$grad = new Gradient($img);
$grad->FilledRectangle($pts[2], $pts[3], $pts[6], $pts[7], $this->plots[$j]->grad_fromcolor, $this->plots[$j]->grad_tocolor, $this->plots[$j]->grad_style);
} elseif ($this->plots[$j]->fill_color) {
$img->SetColor($this->plots[$j]->fill_color);
$img->FilledPolygon($pts, 4);
$img->SetColor($this->plots[$j]->color);
}
if ($this->bar_shadow) {
$ssh = $this->bar_shadow_hsize;
$ssv = $this->bar_shadow_vsize;
// Create points to create a "upper-right" shadow
$sp[0] = $pts[6];
$sp[1] = $pts[7];
$sp[2] = $pts[4];
$sp[3] = $pts[5];
$sp[4] = $pts[2];
$sp[5] = $pts[3];
$sp[6] = $pts[2] + $ssh;
$sp[7] = $pts[3] - $ssv;
$sp[8] = $pts[4] + $ssh;
$sp[9] = $pts[5] - $ssv;
$sp[10] = $pts[6] + $ssh;
$sp[11] = $pts[7] - $ssv;
$img->SetColor($this->bar_shadow_color);
$img->FilledPolygon($sp, 4);
}
if ($i < count($this->plots[$j]->csimtargets)) {
$this->csimareas .= "<area shape=\"rect\" coords=\"";
// Hmmm, this is fishy. Fixes a bug in Opera whereby if Y2<Y1 or X2<X1 the csim doesn't work
// This means that the area MUST specify top left and bottom right corners
if ($pts[3] < $pts[7]) {
if ($pts[2] < $pts[6]) {
$this->csimareas .= "{$pts['2']}, {$pts['3']}, {$pts['6']}, {$pts['7']}\"";
} else {
$this->csimareas .= "{$pts['6']}, {$pts['3']}, {$pts['2']}, {$pts['7']}\"";
}
} else {
if ($pts[2] < $pts[6]) {
$this->csimareas .= "{$pts['2']}, {$pts['7']}, {$pts['6']}, {$pts['3']}\"";
} else {
$this->csimareas .= "{$pts['6']}, {$pts['7']}, {$pts['2']}, {$pts['3']}\"";
}
}
$this->csimareas .= " href=\"" . $this->plots[$j]->csimtargets[$i] . "\"";
if (!empty($this->plots[$j]->csimalts[$i])) {
$sval = sprintf($this->plots[$j]->csimalts[$i], $this->plots[$j]->coords[0][$i]);
$this->csimareas .= " alt=\"{$sval}\"";
}
$this->csimareas .= ">\r\n";
}
$img->Polygon($pts, 4);
}
$yt = $yscale->Translate($accy);
if ($this->show_value) {
$sval = sprintf($this->show_value_format, $accy);
$txt = new Text($sval);
$txt->SetFont($this->show_value_ff, $this->show_value_fs, $this->show_value_fsize);
$txt->SetColor($this->show_value_color);
$x = $pts[2] + ($pts[4] - $pts[2]) / 2;
if ($this->bar_shadow) {
$x += $ssh;
}
$txt->Pos($x, $yt - $this->show_value_margin);
$txt->Align("center", "bottom");
$txt->SetOrientation($this->show_value_angle);
$txt->Stroke($img);
}
}
return true;
}
示例12: 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]);
}
}
}
示例13: 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);
}
}
示例14: Raise
function Raise($aMsg, $aHalt = true)
{
$img_iconerror = 'iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAaV' . 'BMVEX//////2Xy8mLl5V/Z2VvMzFi/v1WyslKlpU+ZmUyMjEh/' . 'f0VyckJlZT9YWDxMTDjAwMDy8sLl5bnY2K/MzKW/v5yyspKlpY' . 'iYmH+MjHY/PzV/f2xycmJlZVlZWU9MTEXY2Ms/PzwyMjLFTjea' . 'AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACx' . 'IAAAsSAdLdfvwAAAAHdElNRQfTBgISOCqusfs5AAABLUlEQVR4' . '2tWV3XKCMBBGWfkranCIVClKLd/7P2Q3QsgCxjDTq+6FE2cPH+' . 'xJ0Ogn2lQbsT+Wrs+buAZAV4W5T6Bs0YXBBwpKgEuIu+JERAX6' . 'wM2rHjmDdEITmsQEEmWADgZm6rAjhXsoMGY9B/NZBwJzBvn+e3' . 'wHntCAJdGu9SviwIwoZVDxPB9+Rc0TSEbQr0j3SA1gwdSn6Db0' . '6Tm1KfV6yzWGQO7zdpvyKLKBDmRFjzeB3LYgK7r6A/noDAfjtS' . 'IXaIzbJSv6WgUebTMV4EoRB8a2mQiQjgtF91HdKDKZ1gtFtQjk' . 'YcWaR5OKOhkYt+ZsTFdJRfPAApOpQYJTNHvCRSJR6SJngQadfc' . 'vd69OLMddVOPCGVnmrFD8bVYd3JXfxXPtLR/+mtv59/ALWiiMx' . 'qL72fwAAAABJRU5ErkJggg==';
if (function_exists("imagetypes")) {
$supported = imagetypes();
} else {
$supported = 0;
}
if (!function_exists('imagecreatefromstring')) {
$supported = 0;
}
if (ob_get_length() || headers_sent() || !($supported & IMG_PNG)) {
die($this->iTitle . ' ' . $aMsg);
}
$aMsg = wordwrap($aMsg, 55);
$lines = substr_count($aMsg, "\n");
$erricon = Image::CreateFromString(base64_decode($img_iconerror));
$w = 400;
$h = 100 + 15 * max(0, $lines - 3);
$img = new Image($w, $h);
$img->SetColor("gray");
$img->FilledRectangle(5, 5, $w - 1, $h - 1, 10);
$img->SetColor("gray:0.7");
$img->FilledRectangle(5, 5, $w - 3, $h - 3, 10);
$img->SetColor("lightblue");
$img->FilledRectangle(1, 1, $w - 5, $h - 5);
$img->CopyCanvasH($img->img, $erricon, 5, 30, 0, 0, 40, 40);
$img->SetColor("black");
$img->Rectangle(1, 1, $w - 5, $h - 5);
$img->Rectangle(0, 0, $w - 4, $h - 4);
$img->SetColor("darkred");
for ($y = 3; $y < 18; $y += 2) {
$img->Line(1, $y, $w - 6, $y);
}
$img->SetColor("white");
$img->Line(2, 2, 2, $h - 5);
$img->Line(2, 2, $w - 6, 2);
$img->SetColor("darkgray");
$img->Line(2, $h - 6, $w - 5, $h - 6);
$img->Line(3, $h - 7, $w - 5, $h - 7);
$m = floor($w / 2 - 5);
$l = 100;
$img->SetColor("lightgray:1.3");
$img->FilledRectangle($m - $l, 2, $m + $l, 16);
$img->SetColor("darkred");
$img->SetFont(FF_FONT2, FS_BOLD);
$img->StrokeText($m - 50, 15, $this->iTitle);
$img->SetColor("black");
$img->SetFont(FF_FONT1, FS_NORMAL);
$txt = new Text($aMsg, 52, 25);
$txt->Align("left", "top");
$txt->Stroke($img);
if ($this->iDest) {
$img->Stream($this->iDest);
} else {
$img->Headers();
$img->Stream();
}
if ($aHalt) {
die;
}
}
示例15: error_text
/**
* Display Error 'graph'
*
* @param string $p_title Error title.
* @param string $p_text Error text.
* @todo check error graphs do not support utf8
* @return void
*/
function error_text($p_title, $p_text)
{
if (OFF == plugin_config_get('eczlibrary')) {
$t_graph = new CanvasGraph(300, 380);
$t_graph_font = graph_get_font();
$t_text = new Text($p_text, 150, 100);
$t_text->Align('center', 'center', 'center');
$t_text->SetFont($t_graph_font, FS_BOLD);
$t_graph->title->Set($p_title);
$t_graph->title->SetFont($t_graph_font, FS_BOLD);
$t_graph->AddText($t_text);
$t_graph->Stroke();
} else {
$t_image = imagecreate(300, 300);
$t_text_color = imagecolorallocate($t_image, 0, 0, 0);
imagestring($t_image, 5, 0, 0, $p_text, $t_text_color);
header('Content-type: image/png');
imagepng($t_image);
imagedestroy($t_image);
}
die;
}