CairoContext::curveTo()
(PECL cairo >= 0.1.0)
Adds a curve
说明
面向对象风格(method):
public CairoContext::curveTo(float $x1,float $y1,float $x2,float $y2,float $x3,float $y3): void
过程化风格:
cairo_curve_to(CairoContext$context,float $x1,float $y1,float $x2,float $y2,float $x3,float $y3): void
Adds a cubic Bezier spline to the path from the current point to position$x3,$y3in user-space coordinates, using$x1,$y1and$x2,$y2as 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).
参数
- $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
返回值
没有返回值。
范例
Example #1 面向对象风格
<?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 过程化风格
<?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'); ?>
参见
- CairoContext::moveTo() The moveTo purpose