PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

imagefill> <imagedestroy
Last updated: Fri, 16 May 2008

view this page in

imageellipse

(PHP 4 >= 4.0.6, PHP 5)

imageellipse — Dessine une ellipse

Description

bool imageellipse ( resource $image , int $cx , int $cy , int $width , int $height , int $color )

Dessine une ellipse centrée sur le point spécifié.

Liste de paramètres

image

Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

cx

X : coordonnée du centre

cy

Y : coordonnée du centre

width

La largeur de l'ellipse

height

La hauteur de l'ellipse

color

La couleur de l'ellipse. Un identifiant de couleur créé avec la fonction imagecolorallocate()

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemples

Exemple #1 Exemple avec imageellipse()

<?php

// Nouvelle image
$image imagecreatetruecolor(400300);

// Remplissage du fond
$bg imagecolorallocate($image000);

// Couleur de l'ellipse
$col_ellipse imagecolorallocate($image255255255);

// On dessine l'ellipse
imageellipse($image200150300200$col_ellipse);

// On affiche l'image
header("Content-type: image/png");
imagepng($image);

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Notes

Note: Cette fonction nécessite GD 2.0.2 ou une version supérieure.



imagefill> <imagedestroy
Last updated: Fri, 16 May 2008
 
add a note add a note User Contributed Notes
imageellipse
simon_nuttall at hotmail dot com
07-Jun-2006 01:36
This is an optimised and bug fixed version of nojer at yahoo dot com's rotatedellipse function. I've changed it so that the arguments are compatible with imageellipse. See notes on imagearc for original version.

<?php

function rotatedellipse($im, $cx, $cy, $width, $height, $rotateangle, $colour, $filled=false) {
 
// modified here from nojer's version
  // Rotates from the three o-clock position clockwise with increasing angle.
  // Arguments are compatible with imageellipse.

 
$width=$width/2;
 
$height=$height/2;

 
// This affects how coarse the ellipse is drawn.
 
$step=3;

 
$cosangle=cos(deg2rad($rotateangle));
 
$sinangle=sin(deg2rad($rotateangle));

 
// $px and $py are initialised to values corresponding to $angle=0.
 
$px=$width * $cosangle;
 
$py=$width * $sinangle;
 
  for (
$angle=$step; $angle<=(180+$step); $angle+=$step) {
   
   
$ox = $width * cos(deg2rad($angle));
   
$oy = $height * sin(deg2rad($angle));
   
   
$x = ($ox * $cosangle) - ($oy * $sinangle);
   
$y = ($ox * $sinangle) + ($oy * $cosangle);
 
    if (
$filled) {
     
triangle($im, $cx, $cy, $cx+$px, $cy+$py, $cx+$x, $cy+$y, $colour);
     
triangle($im, $cx, $cy, $cx-$px, $cy-$py, $cx-$x, $cy-$y, $colour);
    } else {
     
imageline($im, $cx+$px, $cy+$py, $cx+$x, $cy+$y, $colour);
     
imageline($im, $cx-$px, $cy-$py, $cx-$x, $cy-$y, $colour);
    }
   
$px=$x;
   
$py=$y;
  }
}

function
triangle($im, $x1,$y1, $x2,$y2, $x3,$y3, $colour) {
  
$coords = array($x1,$y1, $x2,$y2, $x3,$y3);
  
imagefilledpolygon($im, $coords, 3, $colour);
}

?>
julian
16-Jan-2005 06:23
if you want to display an ellipse in the upper left corner of an image, you can easily calculate the corresponding cx and cy values. this example will draw an ellipse having the same width and height as the image.

<?php

$ellipse_width
= 100;
$ellipse_height = 200;

$ellipse_cx = ($ellipse_width / 2);
$ellipse_cy = ($ellipse_height / 2);

$img_x = $ellipse_width;
$img_y = $ellipse_height;

$img = imagecreate($img_x, $img_y);
$bg = imagecolorallocate($img, 255,255,255);

$ellipse_color = imagecolorallocate($img, 0, 0, 0);

imageellipse($img, $ellipse_cx, $ellipse_cy, $ellipse_width, $ellipse_height, $ellipse_color);

header("Content-type: image/png");
imagepng($img);
imagedestroy($img);

?>
agentyoungsoo at hanmail dot net
04-Dec-2002 08:56
When you wana use "ImageEllipse" function
in under GD 2.0.2 version, you can use "ImageArc" like bellow

----------------------------------------------------
$file_name = "test.png";

$screen_x = 300;
$screen_y = 200;

$x1 = $screen_x / 2;
$y1 = $screen_y / 2;

$radius = 30;

$image = ImageCreate($screen_x, $screen_y);
$black = ImageColorAllocate($image, 0,0,0);

ImageArc($image, $x1, $y1, $radius , $radius , 0, 360, $black);

ImagePng($image, $file_name);
ImageDestroy($image);
----------------------------------------------------

imagefill> <imagedestroy
Last updated: Fri, 16 May 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites