(PECL cairo >= 0.1.0)
CairoContext::arcNegative -- cairo_arc_negative — Ajoute un arc négatif
Style orienté objet (méthode) :
$x
, float $y
, float $radius
, float $angle1
, float $angle2
) : voidStyle procédural :
$context
, float $x
, float $y
, float $radius
, float $angle1
, float $angle2
) : void
Ajoute un arc circulaire d'un rayon radius donné au
chemin courant.
L'arc est centré aux coordonnées x, y,
commence à l'angle angle1 et se forme en direction des angles
décroissants jusqu'à la fin de l'angle angle2. Si angle2
est plus grand que angle1, il sera progressivement abaissé en utilisant
la formule 2*M_PI tant qu'il sera plus grand que angle1.
Voir CairoContext::arc() ou cairo_arc() pour plus
de détails. Cette fonction diffère uniquement dans la direction de l'arc entre
les 2 angles.
contextUn objet CairoContext valide
xPosition double en X
yPosition double en Y
radiusLe rayon de l'arc négatif désiré
angle1L'angle de départ de l'arc
angle2L'angle de fin de l'arc
Aucune valeur n'est retournée.
Exemple #1 Style orienté objet
<?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');
?>
Exemple #2 Style procédural
<?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');
?>