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