(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');
?>