ConFoo Montreal 2017 Calling for Papers

# PDF_curveto

(PHP 4, PECL pdflib >= 1.0.0)

PDF_curvetoDesenează o curbă Bezier

### Descrierea

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

Desenează o curbă Bezier din punctul curent, utilizând alte 3 puncte de control. Întoarce valoarea TRUE în cazul succesului sau FALSE în cazul eșecului.

### User Contributed Notes 2 notes

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