(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
)手続き型:
$context
, float $x1
, float $y1
, float $x2
, float $y2
, float $x3
, float $y3
)
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
値を返しません。
例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');
?>
例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');
?>