CairoContext::curveTo

cairo_curve_to

(PECL cairo >= 0.1.0)

CairoContext::curveTo -- cairo_curve_toAdds 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 ,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::ARGB32100100);
$c = new CairoContext($s);

$c->setSourceRgb(000);

$c->paint();

$c->moveTo(1050); 
$c->setLineWidth(5);
$c->setSourceRgb(.101);
$c->curveTo(208080209050); 
$c->stroke();

$s->writeToPng(dirname(__FILE__) . '/curveTo.png');
?>

Example #2 锟斤拷锟教伙拷锟斤拷锟�

<?php

$s 
cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE100100);
$c cairo_create($s);

cairo_set_source_rgb($c000);

cairo_paint($c);

cairo_move_to($c1050);
cairo_set_line_width($c5);
cairo_set_source_rgb($c.101);
cairo_curve_to($c208080209050);
cairo_stroke($c);

cairo_surface_write_to_png($sdirname(__FILE__) . '/curve_to.png');
?>

锟轿硷拷