PHP 7.1.18 Released

# PDF_curveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_curvetoDibujar una curva de Bézier

### Descripción

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

Dibuja una curva de Bézier desde el punto actual, usando 3 puntos de control más. Devuelve TRUE en caso de éxito o FALSE en caso de error.

### User Contributed Notes 2 notes

rod-php at thecomplex dot com
15 years ago
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);
}
-1
rune at zedeler dot dk
13 years ago
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);
}