CairoContext::curveTo
cairo_curve_to
(PECL cairo >= 0.1.0)
CairoContext::curveTo -- cairo_curve_to — Adds a curve
Description
Object oriented style (method):
Procedural style:
Adds a cubic Bezier spline to the path from the current point to position x3 ,y3 in user-space coordinates, using x1, y1 and x2, y2 as the control points. After this call the current point will be x3, y3.
If there is no current point before the call to CairoContext::curveTo() this function will behave as if preceded by a call to CairoContext::moveTo() (x1, y1).
Parameters
- context
-
A valid CairoContext object created with CairoContext::__construct() or cairo_create()
- x1
-
First control point in the x axis for the curve
- y1
-
First control point in the y axis for the curve
- x2
-
Second control point in x axis for the curve
- y2
-
Second control point in y axis for the curve
- x3
-
Final point in the x axis for the curve
- y3
-
Final point in the y axis for the curve
Return Values
No value is returned.
Examples
Example #1 Object oriented style
<?php
$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);
$c->setSourceRgb(0, 0, 0);
$c->paint();
$c->moveTo(10, 50);
$c->setLineWidth(5);
$c->setSourceRgb(.1, 0, 1);
$c->curveTo(20, 80, 80, 20, 90, 50);
$c->stroke();
$s->writeToPng(dirname(__FILE__) . '/curveTo.png');
?>
Example #2 Procedural style
<?php
$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);
cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);
cairo_move_to($c, 10, 50);
cairo_set_line_width($c, 5);
cairo_set_source_rgb($c, .1, 0, 1);
cairo_curve_to($c, 20, 80, 80, 20, 90, 50);
cairo_stroke($c);
cairo_surface_write_to_png($s, dirname(__FILE__) . '/curve_to.png');
?>