如何在PHP中绘制这种类型的图像

时间:2010-09-01 15:39:16

标签: php gd

我想在PHP中绘制一个图像,它看起来像下图中的圆圈 -


我该如何处理?有没有可用的PHP插件或者我可以用来生成这种类型的图像的东西,或者我应该使用GD库并自己手工编写它?

修改 我正在寻找一些开源的库。

6 个答案:

答案 0 :(得分:6)

不要亲自手工编码,因为这会非常痛苦。我曾经不得不编写一个饼图生成器。

那里有很多图形引擎:

  1. JpGraph
  2. GraPHPite
  3. Google Chart Tools
  4. 看看他们为您提供的服务。可能不是完全相同,但非常接近。

答案 1 :(得分:4)

我不知道你要在该图片中显示什么,但它看起来像某种图形,所以我会寻找一个图表库,例如JpGraph,再次编码之前:

http://jpgraph.net/

答案 2 :(得分:2)

这看起来像是转换为极坐标的条形图。

这是生成这样一张图片的简单方法:

  • 绘制条形图(使用图表库或您自己),没有任何间隙 酒吧之间。确保栏的左右两侧没有空格。

  • 使用GD gdImageSquareToCircle()函数

  • 将图像转换为极坐标

在转换图像之前,您可能不得不将条形旋转180°(即条纹应从上到下)。

答案 3 :(得分: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

答案 4 :(得分:1)

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

raphael也是一个不错的选择

答案 5 :(得分:1)

imagefilledarc 是你的朋友!