PHP. Учебник. 2005

imagefilledarc

Пред.

След.

imagefilledarc

(PHP4>= 4.0.6, PHP 5)imagefilledarc -- Draw a partial ellipse and fill it

Description

bool imagefilledarc (resource image, int cx, int cy, int w, int h, int s, int e, int color, int style)

- imagefilledarc() draws a partial ellipse centered at cx, cy (top left is 0, 0) in the image represented by image. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. W and h specifies the ellipse's width and height respectively while the start and end points are specified in degrees indicated by the s and e arguments. style is a bitwise OR of the following possibilities:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
IMG_ARC_PIE and IMG_ARC_CHORD are mutually exclusive; IMG_ARC_CHORD just connects the starting and ending angles with a straight line, while IMG_ARC_PIE produces a rounded edge. IMG_ARC_NOFILL indicates that the arc or chord should be outlined, not filled. IMG_ARC_EDGED, used together with IMG_ARC_NOFILL, indicates that the beginning and ending angles should be connected to the center - this is a good way to outline (rather than fill) a 'pie slice'.

Пример 1. Creating a 3D looking pie

<?

//create image

$image = imagecreatetruecolor(100, 100);

//allocate some solors

$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);

$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);

$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);

$navy = imagecolorallocate($image, 0x00, 0x00, 0x80);

$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);

$red = imagecolorallocate($image, 0xFF, 0x00, 0x00);

$darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);

//make the 3D effect

for ($i = 60; $i> 50; $i--) {

imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);

imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);

imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);

}

imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);

imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);

imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);

//flush image

header('Content-type: image/png');

imagepng($image);

imagedestroy($image);

?>

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Пред.

Начало

След.

imagefill

Уровень выше

imagefilledellipse 22222

Free Web Hosting