PHP 5.6.0RC3 is available

ImagickDraw::ellipse

(PECL imagick 2.0.0)

ImagickDraw::ellipseDessine une ellipse sur une image

Description

bool ImagickDraw::ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end )
Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Dessine une ellipse sur une image.

Liste de paramètres

ox

oy

rx

ry

start

end

Valeurs de retour

Aucune valeur n'est retournée.

add a note add a note

User Contributed Notes 1 note

up
0
Axeia
5 years ago
<?php
/**
* Please note that if you use a stroke. ( Imagick::setStrokeWidth( 2 ) ) the
* stroke is drawn outside the ellipse dimensions.
*
* @param float $ox - Offset X, distance from the center of the ellipse till the left border of the image
* @param float $oy - Offset Y, distance from the center of the ellipse till the top of the image
* @param float $rx - X radius
* @param float $ry - Y radius
* @param float float $start - Starting angle in degrees.
* @param float float $end - End angle in degrees.
*
*/
ImagickDraw::ellipse( float $ox  , float $oy  , float $rx  , float $ry  , float $start  , float $end  );
?>

Example of drawing a full ellipse (from 0, 360) and outputting it as a PNG.
Do note, that this is  by default anti-aliased unlike the GD functions which only support it on lines that aren't on a transparent background.
<?php
$width
200;
$height = 100;
$border = 2;

$img = new Imagick();
$img->newImage( $width, $height, new ImagickPixel( 'transparent' ) );

$draw = new ImagickDraw();
$draw->setStrokeColor( new ImagickPixel( 'black' ) );
$draw->setStrokeWidth( 2 );
$draw->setFillColor( new ImagickPixel( 'transparent' ) );
//Substract the border from the radius so it doesn't fall outside the screen.
$draw->ellipse( $width/2, $height/2, ($width/2)-$border, ($height/2)-$border, 0, 360 );
$img->drawImage( $draw );
$img->setImageFormat( "png" );

header( "Content-Type: image/png" );
echo
$img;
?>
To Top