(PECL cairo >= 0.1.0)
CairoContext::arcNegative -- cairo_arc_negative — Añade un arco negativo
Estilo orientado a objetos (método):
$x
    , float $y
    , float $radius
    , float $angle1
    , float $angle2
   ) : voidEstilo por procedimientos:
$context
   , float $x
   , float $y
   , float $radius
   , float $angle1
   , float $angle2
   ) : void
   Añade un arco circular del radius dado al trazado actual.
   El arco está centrado en (x, y), comenzando en
   angle1 y procediendo en la dirección de los ángulos decrementados hasta el final en
   angle2. Si angle2 es mayor que
   angle1 será decrementado progresivamente por 2*M_PI hata que sea menor que
   angle1.
   
   Véase CairoContext::arc() o cairo_arc() para más detalles.
   Está función difiere sólo en la dirección del arco entre dos ángulos.
  
contextUn objeto CairoContext válido
xposición x double
yposición y double
radiusEl radio del arco negativo deseado
angle1Ángulo de inicio del arco
angle2Ángulo final del arco
No devuelve ningún valor.
Ejemplo #1 Estilo orientado a objetos
<?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');
?>
Ejemplo #2 Estilo por procedimientos
<?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');
?>