PHP - Manual: CairoContext::arcNegative
2024-12-25
(PECL cairo >= 0.1.0)
CairoContext::arcNegative -- cairo_arc_negative — Adds a negative arc
面向对象风格 (method):
$x
, float $y
, float $radius
, float $angle1
, float $angle2
) : void过程化风格:
$context
, float $x
, float $y
, float $radius
, float $angle1
, float $angle2
) : void
Adds a circular arc of the given radius
to the current path.
The arc is centered at (x
, y
), begins at
angle1
and proceeds in the direction of decreasing angles to end at
angle2
. If angle2
is greater than
angle1
it will be progressively decreased by 2*M_PI until it is less than
angle1
.
See CairoContext::arc() or cairo_arc() for more details.
This function differs only in the direction of the arc between the two angles.
context
A valid CairoContext object
x
double x position
y
double y position
radius
The radius of the desired negative arc
angle1
Start angle of the arc
angle2
End angle of the arc
没有返回值。
Example #1 面向对象风格
<?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');
?>
Example #2 过程化风格
<?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');
?>
官方地址:https://www.php.net/manual/en/cairocontext.arcnegative.php