search for in the

 Last updated: Fri, 30 Nov 2012

# ImagickDraw::arc

(PECL imagick 2.0.0)

ImagickDraw::arcDraws an arc

### Opis

bool ImagickDraw::arc ( float `\$sx` , float `\$sy` , float `\$ex` , float `\$ey` , float `\$sd` , float `\$ed` )
Ostrzeżenie

Ta funkcja jest obecnie nieudokumentowana, dostępna jest jedynie lista jej argumentów.

Draws an arc falling within a specified bounding rectangle on the image.

### Parametry

`sx`

Starting x ordinate of bounding rectangle

`sy`

starting y ordinate of bounding rectangle

`ex`

ending x ordinate of bounding rectangle

`ey`

ending y ordinate of bounding rectangle

`sd`

starting degrees of rotation

`ed`

ending degrees of rotation

### Zwracane wartości

``` You can do a pie chart with a combination of arc and polygon functions (there really ought to be a built-in command for this) <?php //  create a new canvas object and a white image \$canvas     = new Imagick(); \$canvas->newImage(600, 600, 'grey'); image_pie(\$canvas, 300, 300, 200, 0, 45, 'red'); image_pie(\$canvas, 300, 300, 200, 45, 125, 'green'); image_pie(\$canvas, 300, 300, 200, 125, 225, 'blue'); image_pie(\$canvas, 300, 300, 200, 225, 300, 'cyan'); image_pie(\$canvas, 300, 300, 200, 300, 360, 'orange'); //  output the image \$canvas->setImageFormat('png'); header("Content-Type: image/png"); echo \$canvas; exit; // FUNCTIONS function image_arc( &\$canvas, \$sx, \$sy, \$ex, \$ey, \$sd, \$ed, \$color = 'black' ) {     //  draw arc on canvas     //  \$sx, \$sy, \$ex, \$ey specify a bounding rectangle of a circle with the origin in the middle     //  \$sd, and \$ed specify start and end angles in degrees     \$draw = new ImagickDraw();     \$draw->setFillColor(\$color);     \$draw->setStrokeColor(\$color);     \$draw->setStrokeWidth(1);     \$draw->arc(\$sx, \$sy, \$ex, \$ey, \$sd, \$ed);     \$canvas->drawImage(\$draw); } function image_pie( &\$canvas, \$ox, \$oy, \$radius, \$sd, \$ed, \$color = 'black' ) {     //  draw pie segment     //  \$ox, \$oy specify the circle origin     //  \$sd, and \$ed specify start and end angles in degrees     //  degrees start from 0 = East, and go clockwise     //  position 1 - convert degrees to radians and get first point on perimeter of circle     \$x1     = \$radius * cos(\$sd / 180 * 3.1416);     \$y1     = \$radius * sin(\$sd / 180 * 3.1416);     //  position 2 - convert degrees to radians and get second point on perimeter of circle     \$x2     = \$radius * cos(\$ed / 180 * 3.1416);     \$y2     = \$radius * sin(\$ed / 180 * 3.1416);     //  draw segment triangle - specify the 3 points and draw a polygon     \$points = array(array('x' => \$ox, 'y' => \$oy), array('x' => \$ox + \$x1, 'y' => \$oy + \$y1), array('x' => \$ox + \$x2, 'y' => \$oy + \$y2));     image_polygon(\$canvas, \$points, \$color);     //  draw corrsesponding arc to complete the "pie" segment     image_arc(\$canvas, \$ox - \$radius, \$oy - \$radius, \$ox + \$radius, \$oy + \$radius, \$sd, \$ed, \$color); } function image_polygon( &\$canvas, \$points, \$color = 'black' ) {     //  draw a polygon on canvas     \$draw = new ImagickDraw();     \$draw->setFillColor(\$color);     \$draw->setStrokeColor(\$color);     \$draw->setStrokeWidth(1);     \$draw->polygon(\$points);     \$canvas->drawImage(\$draw); } ?> ```