PHP Doku:: Zeichnet Bézier-Kurve - function.pdf-curveto.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzNon-Text MIME-AusgabenPDFPDF FunktionenPDF_curveto

Ein Service von Reinhard Neidl - Webprogrammierung.

PDF Funktionen

<<PDF_create_textflow

PDF_define_layer>>

PDF_curveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_curvetoZeichnet Bézier-Kurve

Beschreibung

bool PDF_curveto ( resource $p , float $x1 , float $y1 , float $x2 , float $y2 , float $x3 , float $y3 )

Zeichnet eine Bézier-Kurve ausgehend von der aktuellen Position, wobei drei Kontrollpunkte benutzt werden. Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.


2 BenutzerBeiträge:
- Beiträge aktualisieren...
rune at zedeler dot dk
10.03.2005 4:51
Rod's function does not work (the thing produced is not even symmetrical).
Here is one that produces a correct approximation to an ellipse:

function pdf_ellipse ($pdfobj,$x,$y,$width,$height) {
// Function to draw an ellipse inscribed in a rectangle
// described by lower left (x,y) with width and height.
  $fac = (4*sqrt(2)-4)/3;
  $dx = $width*(1-$fac)/2;
  $dy = $height*(1-$fac)/2;
  pdf_moveto($pdfobj, $x,$y+$height/2);
  pdf_curveto($pdfobj, $x,$y+$height-$dy, $x+$dx,$y+$height, $x+$width/2,$y+$height);
  pdf_curveto($pdfobj, $x+$width-$dx,$y+$height, $x+$width,$y+$height-$dy, $x+$width,$y+$height/2);
  pdf_curveto($pdfobj, $x+$width,$y+$dy, $x+$width-$dx,$y, $x+$width/2,$y);
  pdf_curveto($pdfobj, $x+$dx,$y, $x,$y+$dy, $x,$y+$height/2);
}
rod-php at thecomplex dot com
1.10.2002 19:15
function pdf_ellipse_inscribed ($pdfobj,$x,$y,$width,$height) {
// Function to draw an ellipse inscribed in a rectangle
// described by lower left (x,y) with width and height.
    pdf_moveto($pdfobj, $x,$y+$height/2);
    pdf_curveto($pdfobj, $x,$y+$height/2,$x,$y+$height,$x+$width/2,$y+$height);
    pdf_curveto($pdfobj, $x+$width/2,$y+$height,$x+$width,$y+$height,$x+$width,$y+$height/2);
    pdf_curveto($pdfobj, $x+$width,$y+$height/2,$x+$width,$y,$x+$width/2,$y);
    pdf_curveto($pdfobj, $x+$width/2,$y,$x,$y,$x,$y+$height/2);
}



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)