(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
)Style procédural :
$context
, float $x
, float $y
, float $radius
, float $angle1
, float $angle2
)
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.
context
Un objet CairoContext valide
x
Position double en X
y
Position double en Y
radius
Le rayon de l'arc négatif désiré
angle1
L'angle de départ de l'arc
angle2
L'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');
?>