(PECL cairo >= 0.1.0)
CairoContext::arcNegative -- cairo_arc_negative — Adds a negative arc
Object oriented style (method):
$x
, float $y
, float $radius
, float $angle1
, float $angle2
)Procedural style:
$context
, float $x
, float $y
, float $radius
, float $angle1
, float $angle2
)
Adds a circular arc of the given radius to the current path.
The arc is centered at (x, y), begins at
angle1 and proceeds in the direction of decreasing angles to end at
angle2. If angle2 is greater than
angle1 it will be progressively decreased by 2*M_PI until it is less than
angle1.
See CairoContext::arc() or cairo_arc() for more details.
This function differs only in the direction of the arc between the two angles.
contextA valid CairoContext object
xdouble x position
ydouble y position
radiusThe radius of the desired negative arc
angle1Start angle of the arc
angle2End angle of the arc
No value is returned.
Example #1 Object oriented style
<?php
$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);
$c->setSourceRgb(0, 0, 0);
$c->paint();
$c->setLineWidth(1);
$c->setSourceRgb(1, 1, 1);
for ($r = 50; $r > 0; $r -= 10) {
$c->arcNegative(50, 50, $r, 2 * M_PI, 0);
$c->stroke();
$c->fill();
}
$s->writeToPng(dirname(__FILE__) . '/CairoContext__arcNegative.png');
?>
Example #2 Procedural style
<?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_set_source_rgb($c, 1, 1, 1);
cairo_set_line_width($c, 1);
for ($r = 50; $r > 0; $r -= 10) {
cairo_arc_negative($c, 50, 50, $r, 2 * M_PI, 0);
cairo_stroke($c);
cairo_fill($c);
}
cairo_surface_write_to_png($s, dirname(__FILE__) . '/cairo_arc_negative.png');
?>