/** * Draw an ellipse * * Parameter array: * 'x': int X center point * 'y': int Y center point * 'rx': int X radius * 'ry': int Y radius * 'fill': mixed [optional] The fill color * 'line': mixed [optional] The line color * @param array $params Parameter array */ function ellipse($params) { $x = $this->_getX($params['x']); $y = $this->_getY($params['y']); $rx = $this->_getX($params['rx']); $ry = $this->_getY($params['ry']); $fillColor = isset($params['fill']) ? $params['line'] : false; $lineColor = isset($params['line']) ? $params['line'] : false; $line = $this->_setLineStyle($lineColor); $fill = $this->_setFillStyle($fillColor); if ($line || $fill) { if ($rx == $ry) { pdf_circle($this->_pdf, $this->_getX($x), $this->_getY($y), $rx); } else { pdf_moveto($this->_pdf, $this->_getX($x - $rx), $this->_getY($y)); pdf_curveto($this->_pdf, $this->_getX($x - $rx), $this->_getY($y), $this->_getX($x - $rx), $this->_getY($y - $ry), $this->_getX($x), $this->_getY($y - $ry)); pdf_curveto($this->_pdf, $this->_getX($x), $this->_getY($y - $ry), $this->_getX($x + $rx), $this->_getY($y - $ry), $this->_getX($x + $rx), $this->_getY($y)); pdf_curveto($this->_pdf, $this->_getX($x + $rx), $this->_getY($y), $this->_getX($x + $rx), $this->_getY($y + $ry), $this->_getX($x), $this->_getY($y + $ry)); pdf_curveto($this->_pdf, $this->_getX($x), $this->_getY($y + $ry), $this->_getX($x - $rx), $this->_getY($y + $ry), $this->_getX($x - $rx), $this->_getY($y)); } if ($line && $fill) { pdf_fill_stroke($this->_pdf); } elseif ($line) { pdf_stroke($this->_pdf); } elseif ($fill) { pdf_fill($this->_pdf); } } parent::ellipse($params); }
function fill() { pdf_fill($this->pdf); }
pdf_lineto($pdf, -$radius / 10, $radius / 20); pdf_closepath($pdf); pdf_fill($pdf); pdf_restore($pdf); /* draw second hand */ pdf_setrgbcolor($pdf, 1.0, 0.0, 0.0); pdf_setlinewidth($pdf, 2); pdf_save($pdf); pdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0)); pdf_moveto($pdf, -$radius / 5, 0.0); pdf_lineto($pdf, $radius, 0.0); pdf_stroke($pdf); pdf_restore($pdf); /* draw little circle at center */ pdf_circle($pdf, 0, 0, $radius / 30); pdf_fill($pdf); pdf_restore($pdf); /* DONE */ pdf_end_page($pdf); pdf_close($pdf); pdf_delete($pdf); // hides "Generating ..." message: echo "<script language='JavaScript'>document.getElementById('loading').style.display = 'none';</script>"; if (!file_exists($file)) { ?> <h2 style="color: red">Error occured: file <?php echo $file; ?> does not exist!</h2> <?php }