当前位置: 首页>>代码示例>>PHP>>正文


PHP ImageFilledPolygon函数代码示例

本文整理汇总了PHP中ImageFilledPolygon函数的典型用法代码示例。如果您正苦于以下问题:PHP ImageFilledPolygon函数的具体用法?PHP ImageFilledPolygon怎么用?PHP ImageFilledPolygon使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了ImageFilledPolygon函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: circle

 function circle($arr)
 {
     $pos = 100;
     // choose a color for the ellipse
     $col_ellipse = imagecolorallocate($this->im, 200, 200, 200);
     $col_ellipse_top = imagecolorallocate($this->im, 180, 180, 180);
     // draw the ellipse
     imagefilledellipse($this->im, 150, $pos + 10, 200, 100, $col_ellipse);
     imagefilledellipse($this->im, 150, $pos, 200, 100, $col_ellipse_top);
     $arrCount = count($arr);
     $start = 0;
     $gesamt = 0;
     $textline = 20;
     for ($x = 0; $arrCount > $x; $x++) {
         $move = $arr[$x]['size'] * 3.6 + $gesamt;
         $add = $arr[$x]['size'] * 3.6;
         $fillcolor = ImageColorAllocate($this->im, rand(0, 255), rand(0, 255), rand(0, 255));
         $black = ImageColorAllocate($this->im, 0, 0, 0);
         // Startpunkte / mitte des Kuchens
         $point[] = 150;
         $point[] = $pos;
         $radius = 100;
         for ($i = $start; $i <= $move; $i++) {
             $point[] = 150 + $radius * sin(deg2rad($i));
             $point[] = $pos - $radius * cos(deg2rad($i)) * 0.5;
         }
         $start = $i;
         ImageFilledPolygon($this->im, $point, sizeof($point) / 2, $fillcolor);
         unset($point);
         $textline = $textline + 15;
         imagefilledrectangle($this->im, 300 - 15, $textline + 2, 300 - 5, $textline + 13, $fillcolor);
         imagerectangle($this->im, 300 - 5, $textline + 2, 300 - 15, $textline + 13, $black);
         ImageString($this->im, 2, 300, $textline, $arr[$x]['name'], $this->text_color);
         $gesamt = $gesamt + $add;
     }
 }
开发者ID:Caberhagen,项目名称:Scheduler,代码行数:36,代码来源:simple_graph.class.php

示例2:

	//=================================

	//=================================
	// Polygone 5/20
	unset($tab5);
	$tab5=array();
	for($i=0;$i<$nbMat;$i++){
		$angle=round($i*360/$nbMat);
		//writinfo('/tmp/infos_graphe.txt','a+',"\$angle=$angle\n");
		$tab=coordcirc(5,$angle);

		$tab5[]=$tab[0];
		$tab5[]=$tab[1];
	}

	ImageFilledPolygon($img,$tab5,count($tab5)/2,$bande1);
	//=================================


	//=================================
	// Axes
	for($i=0;$i<count($tab20)/2;$i++){
		imageline ($img,$x0,$y0,$tab20[2*$i],$tab20[2*$i+1],$axes);
		if($i>0){
			imageline ($img,$tab20[2*($i-1)],$tab20[2*($i-1)+1],$tab20[2*$i],$tab20[2*$i+1],$axes);
		}
		else{
			//imageline ($img,$tab20[2*count($tab20)/2],$tab20[2*count($tab20)/2+1],$tab20[2*$i],$tab20[2*$i+1],$axes);
		}
	}
	imageline ($img,$tab20[0],$tab20[1],$tab20[2*($i-1)],$tab20[2*($i-1)+1],$axes);
开发者ID:alhousseyni,项目名称:gepi,代码行数:31,代码来源:draw_graphe_star.php

示例3: DrawSquaredArea

 /**
  * Draws a squaredarea or stackedsquaredarea plot (Squared Area)
  *
  * This is the main function for drawing squaredarea and stackedsquaredarea plots,
  * which area a blend of 'squared' plus either 'area' or 'stackedarea'. Supported
  * data types are data-data and text-data.  Missing points are not allowed,
  * and all data sets must have the same number of points.
  *
  * @param bool $do_stacked  True for cumulative (stacked), false or omit for unstacked.
  * @return bool  True (False on error if an error handler returns True)
  */
 protected function DrawSquaredArea($do_stacked = FALSE)
 {
     if (!$this->CheckDataType('text-data, data-data')) {
         return FALSE;
     }
     // Validation: Need at least 2 rows; all rows must have same number of columns.
     if (($n_rows = $this->num_data_rows) < 2) {
         return TRUE;
     }
     if ($this->records_per_group != min($this->num_recs)) {
         return $this->PrintError("DrawSquaredArea(): Data array must contain the same number" . " of Y values for each X");
     }
     // Calculate and store device coordinates xd[] and yd[][], and draw the data labels.
     $n_columns = $this->SetupAreaPlot($do_stacked, $xd, $yd);
     // Draw a filled polygon for each Y column
     $prev_col = 0;
     for ($col = 1; $col < $n_columns; $col++) {
         // 1 extra for X axis artificial column
         // Current data set forms the top. For each point after the first, add 2 points.
         $x_prev = $xd[0];
         $y_prev = $yd[0][$col];
         $pts = array($x_prev, $y_prev);
         // Bottom left point
         for ($row = 1; $row < $n_rows; $row++) {
             $x = $xd[$row];
             $y = $yd[$row][$col];
             array_push($pts, $x, $y_prev, $x, $y);
             $x_prev = $x;
             $y_prev = $y;
         }
         // Previous data set forms the bottom. Process right to left.
         // Note $row is now $n_rows, and it will be stepped back to 0.
         $row--;
         $x_prev = $xd[$row];
         $y_prev = $yd[$row][$prev_col];
         array_push($pts, $x_prev, $y_prev);
         // Bottom right point
         while (--$row >= 0) {
             $x = $xd[$row];
             $y = $yd[$row][$prev_col];
             array_push($pts, $x_prev, $y, $x, $y);
             $x_prev = $x;
             $y_prev = $y;
         }
         // Draw the resulting polygon, which has (2 * (1 + 2*(n_rows-1))) points:
         ImageFilledPolygon($this->img, $pts, 4 * $n_rows - 2, $this->ndx_data_colors[$prev_col]);
         $prev_col = $col;
     }
     // Draw the data borders, if enabled. (After, else the area fills cover parts of it.)
     if (!empty($this->draw_data_borders)) {
         $this->DrawAreaFillBorders($n_columns, $xd, $yd, $do_stacked, TRUE);
     }
     return TRUE;
 }
开发者ID:subhadip-sahoo,项目名称:codeigniter,代码行数:65,代码来源:phplot.php

示例4: _done

    /**
     * Output the plot
     * @access private
     */
    function _done()
    {
        parent::_done();

        $totalY = 0;
        $this->_dataset->_reset();
        while ($point = $this->_dataset->_next()) {
            $totalY += $point['Y'];
        }

        $centerX = (int) (($this->_left + $this->_right) / 2);
        $centerY = (int) (($this->_top + $this->_bottom) / 2);
        $diameter = min($this->height(), $this->width()) * 0.75;
        $currentY = 0; //rand(0, 100)*$totalY/100;
        $this->_dataset->_reset();

        while ($point = $this->_dataset->_next()) {
            $angle1 = 360 * ($currentY / $totalY);
            $currentY += $point['Y'];
            $angle2 = 360 * ($currentY / $totalY);
            $dX = $diameter * ($this->_radius / 100) * cos(deg2rad(($angle1 + $angle2) / 2));
            $dY = $diameter * ($this->_radius / 100) * sin(deg2rad(($angle1 + $angle2) / 2));
            $dD = sqrt($dX * $dX + $dY * $dY);

            $polygon[] = $centerX;
            $polygon[] = $centerY;

            $angle = min($angle1, $angle2);
            $dA = 360 / (pi() * $diameter);
            while ($angle <= max($angle1, $angle2)) {
                $polygon[] = ($centerX + ($diameter / 2) * cos(deg2rad($angle % 360)));
                $polygon[] = ($centerY + ($diameter / 2) * sin(deg2rad($angle % 360)));
                $angle += $dA;
            }
            if ($angle != max($angle1, $angle2)) {
                $polygon[] = ($centerX + ($diameter / 2) * cos(deg2rad($angle2 % 360)));
                $polygon[] = ($centerY + ($diameter / 2) * sin(deg2rad($angle2 % 360)));
            }
            //ImageFilledArc($this->_canvas(), $centerX+$dX, $centerY+$dY, $diameter-$dD, $diameter-$dD, $angle1 % 360, $angle2 % 360, $this->_getFillStyle(), IMG_ARC_PIE);
            //ImageFilledArc($this->_canvas(), $centerX+$dX, $centerY+$dY, $diameter-$dD, $diameter-$dD, $angle1 % 360, $angle2 % 360, $this->_getLineStyle(), IMG_ARC_NOFILL+IMG_ARC_EDGED);
            ImageFilledPolygon($this->_canvas(), $polygon, count($polygon) / 2, $this->_getFillStyle());
            //echo $this->_getFillStyle();
            // Modified: Don't draw border
            //ImagePolygon($this->_canvas(), $polygon, count($polygon) / 2, $this->_getLineStyle());

            unset ($polygon);
        }
        //ImageEllipse($this->_canvas(), $centerX, $centerY, $diameter, $diameter, 0);
        $this->_drawMarker();
    }
开发者ID:Apeplazas,项目名称:plazadelatecnologia,代码行数:54,代码来源:Pie.php

示例5: drawArrow

 function drawArrow($X1, $Y1, $X2, $Y2, $Format = "")
 {
     $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
     $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
     $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
     $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
     $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
     $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
     $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
     $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
     $Ratio = isset($Format["Ratio"]) ? $Format["Ratio"] : 0.5;
     $TwoHeads = isset($Format["TwoHeads"]) ? $Format["TwoHeads"] : FALSE;
     $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : FALSE;
     /* Calculate the line angle */
     $Angle = $this->getAngle($X1, $Y1, $X2, $Y2);
     /* Override Shadow support, this will be managed internally */
     $RestoreShadow = $this->Shadow;
     if ($this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0) {
         $this->Shadow = FALSE;
         $this->drawArrow($X1 + $this->ShadowX, $Y1 + $this->ShadowY, $X2 + $this->ShadowX, $Y2 + $this->ShadowY, array("FillR" => $this->ShadowR, "FillG" => $this->ShadowG, "FillB" => $this->ShadowB, "Alpha" => $this->Shadowa, "Size" => $Size, "Ratio" => $Ratio, "TwoHeads" => $TwoHeads, "Ticks" => $Ticks));
     }
     /* Draw the 1st Head */
     $TailX = cos(($Angle - 180) * PI / 180) * $Size + $X2;
     $TailY = sin(($Angle - 180) * PI / 180) * $Size + $Y2;
     $Points = "";
     $Points[] = $X2;
     $Points[] = $Y2;
     $Points[] = cos(($Angle - 90) * PI / 180) * $Size * $Ratio + $TailX;
     $Points[] = sin(($Angle - 90) * PI / 180) * $Size * $Ratio + $TailY;
     $Points[] = cos(($Angle - 270) * PI / 180) * $Size * $Ratio + $TailX;
     $Points[] = sin(($Angle - 270) * PI / 180) * $Size * $Ratio + $TailY;
     $Points[] = $X2;
     $Points[] = $Y2;
     /* Visual correction */
     if ($Angle == 180 || $Angle == 360) {
         $Points[4] = $Points[2];
     }
     if ($Angle == 90 || $Angle == 270) {
         $Points[5] = $Points[3];
     }
     $ArrowColor = $this->allocateColor($this->Picture, $FillR, $FillG, $FillB, $Alpha);
     ImageFilledPolygon($this->Picture, $Points, 4, $ArrowColor);
     $this->drawLine($Points[0], $Points[1], $Points[2], $Points[3], array("R" => $BorderR, "G" => $BorderG, "B" => $BorderB, "Alpha" => $Alpha));
     $this->drawLine($Points[2], $Points[3], $Points[4], $Points[5], array("R" => $BorderR, "G" => $BorderG, "B" => $BorderB, "Alpha" => $Alpha));
     $this->drawLine($Points[0], $Points[1], $Points[4], $Points[5], array("R" => $BorderR, "G" => $BorderG, "B" => $BorderB, "Alpha" => $Alpha));
     /* Draw the second head */
     if ($TwoHeads) {
         $Angle = $this->getAngle($X2, $Y2, $X1, $Y1);
         $TailX2 = cos(($Angle - 180) * PI / 180) * $Size + $X1;
         $TailY2 = sin(($Angle - 180) * PI / 180) * $Size + $Y1;
         $Points = "";
         $Points[] = $X1;
         $Points[] = $Y1;
         $Points[] = cos(($Angle - 90) * PI / 180) * $Size * $Ratio + $TailX2;
         $Points[] = sin(($Angle - 90) * PI / 180) * $Size * $Ratio + $TailY2;
         $Points[] = cos(($Angle - 270) * PI / 180) * $Size * $Ratio + $TailX2;
         $Points[] = sin(($Angle - 270) * PI / 180) * $Size * $Ratio + $TailY2;
         $Points[] = $X1;
         $Points[] = $Y1;
         /* Visual correction */
         if ($Angle == 180 || $Angle == 360) {
             $Points[4] = $Points[2];
         }
         if ($Angle == 90 || $Angle == 270) {
             $Points[5] = $Points[3];
         }
         $ArrowColor = $this->allocateColor($this->Picture, $FillR, $FillG, $FillB, $Alpha);
         ImageFilledPolygon($this->Picture, $Points, 4, $ArrowColor);
         $this->drawLine($Points[0], $Points[1], $Points[2], $Points[3], array("R" => $BorderR, "G" => $BorderG, "B" => $BorderB, "Alpha" => $Alpha));
         $this->drawLine($Points[2], $Points[3], $Points[4], $Points[5], array("R" => $BorderR, "G" => $BorderG, "B" => $BorderB, "Alpha" => $Alpha));
         $this->drawLine($Points[0], $Points[1], $Points[4], $Points[5], array("R" => $BorderR, "G" => $BorderG, "B" => $BorderB, "Alpha" => $Alpha));
         $this->drawLine($TailX, $TailY, $TailX2, $TailY2, array("R" => $BorderR, "G" => $BorderG, "B" => $BorderB, "Alpha" => $Alpha, "Ticks" => $Ticks));
     } else {
         $this->drawLine($X1, $Y1, $TailX, $TailY, array("R" => $BorderR, "G" => $BorderG, "B" => $BorderB, "Alpha" => $Alpha, "Ticks" => $Ticks));
     }
     /* Re-enable shadows */
     $this->Shadow = $RestoreShadow;
 }
开发者ID:arsan-irianto,项目名称:apdpln,代码行数:78,代码来源:pDraw.class.php

示例6: DrawArea

 function DrawArea()
 {
     $width = $this->chart_area[2] - $this->chart_area[0];
     $height = $this->chart_area[3] - $this->chart_area[1];
     $step = $width / $this->record_count_group;
     $corr = $step / 2;
     $xpos = $step;
     $init = $this->chart_area[0];
     for ($i = 0; $i < $this->record_group; $i++) {
         $x = $this->chart_area[0] + $corr;
         $x = round($x, 0);
         $y = $this->chart_area[3];
         $posarr[$i][] = $x;
         $posarr[$i][] = $y;
     }
     foreach ($this->data_values as $row) {
         $arrcounter = 0;
         foreach ($row as $v) {
             if ($v != $row[0]) {
                 $x = $xpos + $init - $corr;
                 $y = $this->chart_area[3] - $v / $this->record_max * $height;
                 $x = round($x, 0);
                 $y = round($y, 0);
                 $posarr[$arrcounter][] = $x;
                 $posarr[$arrcounter][] = $y;
                 $arrcounter++;
             }
         }
         $xpos += $step;
     }
     for ($i = 0; $i < $this->record_group; $i++) {
         $x = $this->chart_area[2] - $corr;
         $y = $this->chart_area[3];
         $posarr[$i][] = $x;
         $posarr[$i][] = $y;
     }
     $colcount = 0;
     foreach ($posarr as $row) {
         if ($colcount >= count($this->bar_color)) {
             $colcount = 0;
         }
         $barcol = $this->col_bar_color[$colcount];
         ImageFilledPolygon($this->img, $row, count($row) / 2, $barcol);
         $colcount++;
     }
 }
开发者ID:orangeal2o3,项目名称:pukiwiki-plugin,代码行数:46,代码来源:ykcee.php

示例7: draw_brush

 function draw_brush($x, $y, $size, $type, $colour)
 {
     $x = round($x);
     $y = round($y);
     $half = round($size / 2);
     switch ($type) {
         case 'circle':
             ImageArc($this->image, $x, $y, $size, $size, 0, 360, $this->colour[$colour]);
             ImageFillToBorder($this->image, $x, $y, $this->colour[$colour], $this->colour[$colour]);
             break;
         case 'square':
             ImageFilledRectangle($this->image, $x - $half, $y - $half, $x + $half, $y + $half, $this->colour[$colour]);
             break;
         case 'vertical':
             ImageFilledRectangle($this->image, $x, $y - $half, $x + 1, $y + $half, $this->colour[$colour]);
             break;
         case 'horizontal':
             ImageFilledRectangle($this->image, $x - $half, $y, $x + $half, $y + 1, $this->colour[$colour]);
             break;
         case 'slash':
             ImageFilledPolygon($this->image, array($x + $half, $y - $half, $x + $half + 1, $y - $half, $x - $half + 1, $y + $half, $x - $half, $y + $half), 4, $this->colour[$colour]);
             break;
         case 'backslash':
             ImageFilledPolygon($this->image, array($x - $half, $y - $half, $x - $half + 1, $y - $half, $x + $half + 1, $y + $half, $x + $half, $y + $half), 4, $this->colour[$colour]);
             break;
         default:
             @eval($type);
             // user can create own brush script.
     }
 }
开发者ID:uniteddiversity,项目名称:DebateHub,代码行数:30,代码来源:graphlib.php

示例8: pieslice

 /**
  * Draw a pie slice
  *
  * Parameter array:
  * 
  * 'x': int X center point
  * 
  * 'y': int Y center point
  * 
  * 'rx': int X radius
  * 
  * 'ry': int Y radius
  * 
  * 'v1': int The starting angle (in degrees)
  * 
  * 'v2': int The end angle (in degrees)
  * 
  * 'srx': int [optional] Starting X-radius of the pie slice (i.e. for a doughnut)
  * 
  * 'sry': int [optional] Starting Y-radius of the pie slice (i.e. for a doughnut)
  * 
  * 'fill': mixed [optional] The fill color
  * 
  * 'line': mixed [optional] The line color
  * 
  * @param array $params Parameter array
  */
 function pieslice($params)
 {
     $x = $this->_getX($params['x']);
     $y = $this->_getY($params['y']);
     $rx = $params['rx'];
     $ry = $params['ry'];
     $v1 = $params['v1'];
     $v2 = $params['v2'];
     $srx = isset($params['srx']) ? $params['srx'] : 0;
     $sry = isset($params['sry']) ? $params['sry'] : 0;
     $fillColor = isset($params['fill']) ? $params['fill'] : false;
     $lineColor = isset($params['line']) ? $params['line'] : false;
     $dA = 0.1;
     if ($srx !== false && $sry !== false) {
         $angle = max($v1, $v2);
         while ($angle >= min($v1, $v2)) {
             $polygon[] = $x + $srx * cos(deg2rad($angle % 360));
             $polygon[] = $y + $sry * sin(deg2rad($angle % 360));
             $angle -= $dA;
         }
         if ($angle + $dA > min($v1, $v2)) {
             $polygon[] = $x + $srx * cos(deg2rad(min($v1, $v2) % 360));
             $polygon[] = $y + $sry * sin(deg2rad(min($v1, $v2) % 360));
         }
     } else {
         $polygon[] = $x;
         $polygon[] = $y;
     }
     $angle = min($v1, $v2);
     while ($angle <= max($v1, $v2)) {
         $polygon[] = $x + $rx * cos(deg2rad($angle % 360));
         $polygon[] = $y + $ry * sin(deg2rad($angle % 360));
         $angle += $dA;
     }
     if ($angle - $dA < max($v1, $v2)) {
         $polygon[] = $x + $rx * cos(deg2rad(max($v1, $v2) % 360));
         $polygon[] = $y + $ry * sin(deg2rad(max($v1, $v2) % 360));
     }
     if (($fill = $this->_getFillStyle($fillColor, $x - $rx - 1, $y - $ry - 1, $x + $rx + 1, $y + $ry + 1)) !== false && count($polygon) > 2) {
         ImageFilledPolygon($this->_canvas, $polygon, count($polygon) / 2, $fill);
     }
     if (($line = $this->_getLineStyle($lineColor)) !== false) {
         ImagePolygon($this->_canvas, $polygon, count($polygon) / 2, $line);
     }
     parent::pieSlice($params);
 }
开发者ID:chiranjeevjain,项目名称:agilebill,代码行数:73,代码来源:GD.php

示例9: DrawStackedBars

 function DrawStackedBars()
 {
     if ($this->data_type != 'text-data') {
         $this->DrawError('DrawStackedBars(): Bar plots must be text-data: use SetDataType("text-data")');
         return FALSE;
     }
     for ($row = 0; $row < $this->num_data_rows; $row++) {
         $record = 1;
         // Skip record #0 (data label)
         $x_now_pixels = $this->xtr(0.5 + $row);
         // Place text-data at X = 0.5, 1.5, 2.5, etc...
         if ($this->x_data_label_pos != 'none') {
             // Draw X Data labels?
             $this->DrawXDataLabel($this->data[$row][0], $x_now_pixels);
         }
         // Draw the bars
         $oldv = 0;
         for ($idx = 0; $record < $this->num_recs[$row]; $record++, $idx++) {
             if (is_numeric($this->data[$row][$record])) {
                 // Allow for missing Y data
                 $x1 = $x_now_pixels - $this->data_group_space;
                 $x2 = $x_now_pixels + $this->data_group_space;
                 $y1 = $this->ytr(abs($this->data[$row][$record]) + $oldv);
                 $y2 = $this->ytr($this->x_axis_position + $oldv);
                 $oldv += abs($this->data[$row][$record]);
                 if ($this->shading) {
                     // Draw the shade?
                     ImageFilledPolygon($this->img, array($x1, $y1, $x1 + $this->shading, $y1 - $this->shading, $x2 + $this->shading, $y1 - $this->shading, $x2 + $this->shading, $y2 - $this->shading, $x2, $y2, $x2, $y1), 6, $this->ndx_data_dark_colors[$idx]);
                 } else {
                     ImageRectangle($this->img, $x1, $y1, $x2, $y2, $this->ndx_data_border_colors[$idx]);
                 }
                 // Draw the bar
                 ImageFilledRectangle($this->img, $x1, $y1, $x2, $y2, $this->ndx_data_colors[$idx]);
             }
         }
         // end for
     }
     // end for
 }
开发者ID:rrsc,项目名称:freemed,代码行数:39,代码来源:PHPlot.class.php

示例10: DrawBullet

 function DrawBullet($image, $x, $y, $type, $color)
 {
     switch ($type) {
         case 0:
         case 5:
             for ($i = 0; $i < 8; $i++) {
                 ImageArc($image, $x, $y, $i, $i, 0, 359, $color);
             }
             break;
         case 1:
         case 6:
             ImageFilledRectangle($image, $x - 3, $y - 3, $x + 3, $y + 3, $color);
             break;
         case 2:
         case 7:
             ImageFilledRectangle($image, $x - 1, $y - 4, $x + 1, $y + 4, $color);
             ImageFilledRectangle($image, $x - 4, $y - 1, $x + 4, $y + 1, $color);
             break;
         case 3:
         case 8:
             $points[0] = $x;
             $points[1] = $y - 4;
             $points[2] = $x + 4;
             $points[3] = $y;
             $points[4] = $x;
             $points[5] = $y + 4;
             $points[6] = $x - 4;
             $points[7] = $y;
             ImageFilledPolygon($image, $points, 4, $color);
             break;
         case 4:
         case 9:
             $points[0] = $x;
             $points[1] = $y - 4;
             $points[2] = $x + 4;
             $points[3] = $y + 4;
             $points[4] = $x - 4;
             $points[5] = $y + 4;
             ImageFilledPolygon($image, $points, 3, $color);
             break;
         default:
     }
     return;
 }
开发者ID:ruNovel,项目名称:sams2,代码行数:44,代码来源:charts.class.php

示例11: draw_plage_spher

function draw_plage_spher($im, $results, $flg, $l0, $b0, $p0, $sx, $r, $col)
{
    $lon = $results['LON'];
    $lat = $results['LAT'];
    /*if ($flg == 0)
    		$col=ImageColorAllocate($im, 255, 255-$results['INTENSITY'], 255-$results['INTENSITY']);
    	else
    		$col=ImageColorAllocate($im, 255, 255-$results['INTENSITY'], 255);*/
    $cBlack = ImageColorAllocate($im, 0, 0, 0);
    $nb = count($lon);
    for ($i = 0; $i < $nb; $i++) {
        $lon[$i] = $lon[$i] + 360 * $flg - rad2deg($l0);
        //if ( ($lon[$i] <= 90) && ($lon[$i] >= -90) ) {
        $coord = ToHelio($lon[$i], $lat[$i], $b0, $p0, $r, $sx);
        $points[] = $coord['lon'];
        $points[] = $coord['lat'];
        //}
    }
    if (count($points) > 0) {
        ImageFilledPolygon($im, $points, count($points) / 2, $col);
        imagepolygon($im, $points, count($points) / 2, $cBlack);
    }
    unset($points);
}
开发者ID:helio-vo,项目名称:helio,代码行数:24,代码来源:plot_solar_struct.php

示例12: draw_feat_pix

function draw_feat_pix($im, $tab_xpix, $tab_ypix, $c_x, $c_y, $intensity, $feat_id, $filled, $zoom)
{
    global $global;
    $font_ttf = $global['FONT_PATH'];
    $sizey = imagesy($im);
    $nb = count($tab_xpix);
    $points = array();
    if ($filled) {
        $col = ImageColorAllocate($im, 255, 255 - $intensity, 255 - $intensity);
    } else {
        $col = ImageColorAllocate($im, 255, 255, 255);
    }
    if ($filled) {
        $gc_col = ImageColorAllocate($im, 0, 0, 0);
    } else {
        $gc_col = ImageColorAllocate($im, 0, 0, 255);
    }
    for ($i = 0; $i < $nb; $i++) {
        $points[] = $tab_xpix[$i] * $zoom;
        $points[] = $sizey - $tab_ypix[$i] * $zoom;
        // en PHP, l'origine de l'image est coin gauche haut
    }
    if (count($points) > 0) {
        if ($filled) {
            ImageFilledPolygon($im, $points, $nb, $col);
        }
        ImagePolygon($im, $points, $nb, $col);
    }
    imagefilledellipse($im, $c_x * $zoom, $sizey - $c_y * $zoom, 2, 2, $gc_col);
    //ImageString ($im, 3, $c_x*$zoom-strlen($feat_id), $sizey-$c_y*$zoom+5, $feat_id, $gc_col);
    $textArray = explode(' ', $feat_id);
    $y = $sizey - $c_y * $zoom + 15;
    foreach ($textArray as $txt) {
        ImageTTFText($im, 8, 0, $c_x * $zoom - strlen($feat_id) + 10, $y, $gc_col, $font_ttf, $txt);
        $y += 15;
    }
    //ImageTTFText($im, 8, 0, $c_x*$zoom-strlen($feat_id)+10, $sizey-$c_y*$zoom+15, $gc_col, $font_ttf, $feat_id);
}
开发者ID:helio-vo,项目名称:helio,代码行数:38,代码来源:makemap_pixobs.php

示例13: _drawxaxis

function _drawxaxis() {

        $maxlabwid = $this->_maxlab();
        $x0 = $this->lm;
        $y0 = $this->tm + $this->cheight;
        $x1 = $x0 + $this->cwidth;
        $y1 = $y0;
        $div = $this->xgridint;
        imageline($this->image,$x0,$y0,$x1,$y1,$this->gridcol);
        $gry = $this->xgrid ? $this->tm : $this->tm + $this->cheight + 3 ;
        $ii=0;
        for ($x=$x1,$i=$this->xcount-1; $x>$x0+3; $x -= $div, $i--, $ii++) {
                if ($this->xdashed) {
                        for ($xd=$gry;$xd<=$y0; $xd=$xd+4) {
                                imagesetpixel($this->image,$x,$xd,$this->gridcol);
                        }
                } else {
                        imageline($this->image,$x,$gry,$x,$y0,$this->gridcol);
                }
                imageline($this->image,$x,$y0-4,$x,$y0+3,$this->txtcol);
                $v = $this->xlabels[$i];
                $tw = strlen("$v")*imagefontwidth(2);
                $th = imagefontheight(2);

                if (!($ii%$this->xstep)) {
                        if ($this->xdelta) { if (!$delta) { $delta=12; } else { $delta=0; } } else { $delta=0; }

                        $this->_writestring($this->image,2,$x - ($div+$tw)/2, $y0 + 5 + $delta, $v, $this->txtcol,0,0);
                }
        }
        $y = $this->height - 30;
        $tw = strlen($this->xtitle)*imagefontwidth(3);
        $x = ($this->lm + $this->cwidth + $this->lm - $tw)/2;
        $this->_writestring($this->image,3,$this->lm + $this->cwidth+2,$y0-20,$this->xtitle,$this->txtcol,1,0);

        if ($this->xstr) {
                $points[0] = $this->lm + $this->cwidth+10;
                $points[1] = $y0-3;
                $points[2] = $points[0]+15;
                $points[3] = $points[1]+3;
                $points[4] = $points[2]-15;
                $points[5] = $points[3]+3;
                $points[6] = $points[4]+3;
                $points[7] = $points[5]-3;
                ImageSetThickness($this->image, $this->xline);
                imageline($this->image,$x0,$y0,$x1+15,$y1,$this->txtcol);
                ImageSetThickness($this->image, 1);
                ImageFilledPolygon($this->image,$points,4,$this->txtcol);
        }
}
开发者ID:niao,项目名称:Bagira.CMS,代码行数:50,代码来源:graph.class.php

示例14: array

 }
 $text_size = 1;
 //Compute the pic's center and the radius
 $x_center = $width / 2;
 $y_center = $height / 2;
 $radius = $width / 2 - 30;
 $div_length = 10;
 $subdiv_length = 6;
 //Plot the data
 $points = array();
 for ($i = 0; $i < $num_points; $i++) {
     //Compute the point
     $points[$i * 2] = $x_center + $data[$i] * $radius / 10 * cos(deg2rad($angles[$i]));
     $points[$i * 2 + 1] = $y_center - $data[$i] * $radius / 10 * sin(deg2rad($angles[$i]));
 }
 ImageFilledPolygon($im, $points, $num_points, $orange);
 ImagePolygon($im, $points, $num_points, $blue);
 //Plot the sub-areas
 $suba_nb = 4;
 for ($i = 0; $i < $suba_nb; $i++) {
     for ($j = 0; $j < $num_points; $j++) {
         //Compute the point
         $points[$j * 2] = $x_center + $radius / $suba_nb * ($i + 1) * cos(deg2rad($angles[$j]));
         $points[$j * 2 + 1] = $y_center - $radius / $suba_nb * ($i + 1) * sin(deg2rad($angles[$j]));
     }
     ImagePolygon($im, $points, $num_points, $grey);
 }
 //Plot the axis
 for ($i = 0; $i < $num_points; $i++) {
     //Axis
     $x = $x_center + $radius * cos(deg2rad($angles[$i]));
开发者ID:GrottoCenter,项目名称:GrottoCenter,代码行数:31,代码来源:getChart.php

示例15: drawshape

 private function drawshape($image, $action, $color)
 {
     switch ($action % 7) {
         case 0:
             ImageFilledRectangle($image, $this->getX(), $this->getY(), $this->getX(), $this->getY(), $color);
             break;
         case 1:
         case 2:
             ImageFilledEllipse($image, $this->getX(), $this->getY(), $this->getX(), $this->getY(), $color);
             break;
         case 3:
             $points = array($this->getX(), $this->getY(), $this->getX(), $this->getY(), $this->getX(), $this->getY(), $this->getX(), $this->getY());
             ImageFilledPolygon($image, $points, 4, $color);
             break;
         case 4:
         case 5:
         case 6:
             $start = $this->getInt() * 360 / 256;
             $end = $start + $this->getInt() * 180 / 256;
             ImageFilledArc($image, $this->getX(), $this->getY(), $this->getX(), $this->getY(), $start, $end, $color, IMG_ARC_PIE);
             break;
     }
 }
开发者ID:nichdu,项目名称:ZeroBin,代码行数:23,代码来源:vizhash_gd_zero.php


注:本文中的ImageFilledPolygon函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。