©
本文档使用
php.cn手册 发布
(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
没有返回值。
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' );
?>