(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
)Estilo por procedimientos:
$context
, float $x
, float $y
, float $radius
, float $angle1
, float $angle2
)
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.
context
Un objeto CairoContext válido
x
posición x double
y
posición y double
radius
El 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');
?>