GD and Image 函数
PHP 手册

imagefilledarc

(PHP 4 >= 4.0.6, PHP 5)

imagefilledarc画一椭圆弧且填充

说明

bool imagefilledarc ( resource $image , int $cx , int $cy , int $width , int $height , int $start , int $end , int $color , int $style )

在指定的 image 上画一椭圆弧且填充。

参数

image

由图象创建函数(例如 imagecreatetruecolor())返回的图象资源。

cx

中间的 x 坐标。

cy

中间的 y 坐标。

width

椭圆弧的宽度。

height

椭圆弧的高度。

start

起点角度。

end

终点角度。 0° is located at the three-o'clock position, and the arc is drawn clockwise.

color

imagecolorallocate() 创建的颜色标识符。

style

值可以是下列值的按位或(OR):

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
IMG_ARC_PIEIMG_ARC_CHORD 是互斥的;IMG_ARC_CHORD 只是用直线连接了起始和结束点,IMG_ARC_PIE 则产生圆形边界。IMG_ARC_NOFILL 指明弧或弦只有轮廓,不填充。IMG_ARC_EDGED 指明用直线将起始和结束点与中心点相连,和 IMG_ARC_NOFILL 一起使用是画饼状图轮廓的好方法(而不用填充)。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

范例

Example #1 创建一 3D 效果的饼状图

<?php

// 创建图像
$image imagecreatetruecolor(100100);

// 分配一些颜色
$white    imagecolorallocate($image0xFF0xFF0xFF);
$gray     imagecolorallocate($image0xC00xC00xC0);
$darkgray imagecolorallocate($image0x900x900x90);
$navy     imagecolorallocate($image0x000x000x80);
$darknavy imagecolorallocate($image0x000x000x50);
$red      imagecolorallocate($image0xFF0x000x00);
$darkred  imagecolorallocate($image0x900x000x00);

// 创建 3D 效果
for ($i 60$i 50$i--) {
   
imagefilledarc($image50$i10050045$darknavyIMG_ARC_PIE);
   
imagefilledarc($image50$i100504575 $darkgrayIMG_ARC_PIE);
   
imagefilledarc($image50$i1005075360 $darkredIMG_ARC_PIE);
}

imagefilledarc($image505010050045$navyIMG_ARC_PIE);
imagefilledarc($image5050100504575 $grayIMG_ARC_PIE);
imagefilledarc($image50501005075360 $redIMG_ARC_PIE);


// 输出图像
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

以上例程的输出类似于:

例子输出:创建一 3D 效果的饼状图

注释

Note: 此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。


GD and Image 函数
PHP 手册