(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).
contextA valid CairoContext object created with CairoContext::__construct() or cairo_create()
x1First control point in the x axis for the curve
y1First control point in the y axis for the curve
x2Second control point in x axis for the curve
y2Second control point in y axis for the curve
x3Final point in the x axis for the curve
y3Final 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');
?>