©
This document uses PHP Chinese website manual Release
(PECL cairo >= 0.1.0)
CairoContext::arcNegative -- cairo_arc_negative — Adds a negative arc
面向对象风格 (method):
$x
, float $y
, float $radius
, float $angle1
, float $angle2
)过程化风格:
$context
, float $x
, float $y
, float $radius
, float $angle1
, float $angle2
)
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' );
?>