我想在PHP中绘制一个图像,它看起来像下图中的圆圈 -
我该如何处理?有没有可用的PHP插件或者我可以用来生成这种类型的图像的东西,或者我应该使用GD库并自己手工编写它?
修改 我正在寻找一些开源的库。
答案 0 :(得分:6)
不要亲自手工编码,因为这会非常痛苦。我曾经不得不编写一个饼图生成器。
那里有很多图形引擎:
看看他们为您提供的服务。可能不是完全相同,但非常接近。
答案 1 :(得分:4)
我不知道你要在该图片中显示什么,但它看起来像某种图形,所以我会寻找一个图表库,例如JpGraph,再次编码之前:
答案 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);
做到这一点:
答案 4 :(得分:1)
你可能正在寻找一个SVG库。
raphael也是一个不错的选择
答案 5 :(得分:1)
imagefilledarc
是你的朋友!