2010-09-01 46 views
1

我想提请在PHP中的图像,它看起来像下面的图片中圈 -如何画这种类型的图像在PHP


我应该如何着手呢?是否有任何可用的PHP插件或可用于生成此类图像的东西,还是应该使用GD库并亲自手动编写它?

编辑 我正在寻找一些开源的库。

+0

这不是PHP。可能是Javascript,jQuery。 – pltvs 2010-09-01 15:44:42

+1

它不是PHP,但它是一个服务器端脚本,而不是JavaScript。该图表是通过来自服务器的GET请求创建的。 – 2ndkauboy 2010-09-01 15:58:59

回答

6

不要自己handcode它那将是非常痛苦的。我曾经需要编写一个饼图生成器。

有很多图形引擎在那里:

  1. JpGraph
  2. GraPHPite
  3. Google Chart Tools

看一看他们为您提供。可能不完全一样,但非常接近。

4

我不知道你想在图像中显示什么,但它看起来像某种图形,所以我会寻找一个图表库, jpgraph的,重新编码这一切之前:

http://jpgraph.net/

1

您可能正在寻找一个SVG库。

raphael也是一个不错的选择

+0

尽管raphael相当不错,但它需要JavaScript和一个支持SVG的浏览器(与IE一样,它极其缓慢)。 – 2ndkauboy 2010-09-01 15:57:34

2

这看起来像一个柱状图转换到极坐标。

这里是产生这种图像的简单方法:

  • 画出你的酒吧(使用图表库或自己)没有任何间隙 各杆之间。确保您的酒吧的左侧和右侧没有空白。

你可能会拥有180°(即条应该从上到下增长)旋转你的吧变换图像之前的图像转换到极坐标使用GD的gdImageSquareToCircle()功能。

2

此:

$im = imagecreatetruecolor(500, 500); 
imagefill($im, 0, 0, imagecolorallocate($im, 255, 255, 255)); 


imagefilledarc($im, 250, 250, 500, 500, -90, -80, 0xFF0000, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 400, 400, -80, -40, 0xFFFF00, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 150, 150, -40, 0, 0xFF00FF, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 450, 450, 0, 20, 0x00FFFF, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 350, 350, 20, 50, 0x1276A9, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 100, 100, 50, 95, 0x000000, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 400, 400, 95, 125, 0x1E1FFF, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 150, 150, 125, 160, 0x45ABAB, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 500, 500, 160, 180, 0xFFA7F1, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 300, 300, 180, 235, 0xA91234, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 240, 240, 235, 255, 0xA13ACE, IMG_ARC_PIE); 
imagefilledarc($im, 250, 250, 300, 300, 255, 270, 0x00FF00, IMG_ARC_PIE); 

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

使此:

Image does not exist

相关问题