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

search for in the

imagefill> <imagedestroy
[edit] Last updated: Fri, 25 May 2012

view this page in

imageellipse

(PHP 4 >= 4.0.6, PHP 5)

imageellipseDibujar una elipse

Descripción

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

Dibuja una elipse con centro en las coordenadas especificadas.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

cx

Coordenada x del centro.

cy

Coordenada y del centro.

width

El ancho de la elipse.

height

El alto de la elipse.

color

El color de la elipse. Un identificador de color creado con imagecolorallocate().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de imageellipse()

<?php

// Crear una imagen en blanco.
$imagen imagecreatetruecolor(400300);

// Seleccionar el color de fondo.
$fondo imagecolorallocate($imagen000);

// Rellenar el fondo con el color seleccionado arriba.
imagefill($imagen00$fondo);

// Escoger un color para la elipse.
$col_ellipse imagecolorallocate($imagen255255255);

// Dibujar la elipse
imageellipse($imagen200150300200$col_ellipse);

// Imprimir la imagen
header("Content-type: image/png");
imagepng($imagen);

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : imageellipse()

Notas

Nota:

Esta función requiere GD 2.0.2 o posterior.

Ver también



imagefill> <imagedestroy
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes imageellipse
themountainlion at gmail dot com 13-Jul-2008 09:28
In example #1 above, the variable $bg is set but not used. Set the background to anything but black ,and it won't take effect. The example needs

imagefill($image, 0, 0, $bg);

Some other image function examples have the same issue.
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);
----------------------------------------------------

 
show source | credits | stats | sitemap | contact | advertising | mirror sites