• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • CairoContext::curveTo()

    (PECL cairo >= 0.1.0)

    Adds a curve

    说明

    面向对象风格(method):

    publicCairoContext::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,$y3in user-space coordinates, using$x1,$y1and$x2,$y2as 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');
    ?>
    

    参见

    • CairoContext::moveTo() The moveTo purpose