CairoContext::curveTo
cairo_curve_to
(PECL cairo >= 0.1.0)
CairoContext::curveTo -- cairo_curve_to — Adds a curve
说明
面向对象风格 (method):
$x1
,
float $y1
,
float $x2
,
float $y2
,
float $x3
,
float $y3
) :
void
过程化风格:
$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
,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
).
参数
-
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');
?>