如何在PHP中绘制这种类型的图像
我想用PHP绘制一个图像,它看起来像下图中的圆圈-如何在PHP中绘制这种类型的图像,php,gd,Php,Gd,我想用PHP绘制一个图像,它看起来像下图中的圆圈- 我应该如何继续?是否有任何可用的PHP插件或东西,我可以用来生成这种类型的图像,或者我应该使用GD库和手工编码它自己 编辑 我正在寻找一些开源的库。我不知道您试图在该图像中显示什么,但它看起来像某种图形,所以在再次编码之前,我会寻找一个图表库,例如JpGraph: 我不知道您试图在该图像中显示什么,但它看起来像某种图形,因此在再次编码之前,我会查找一个图表库,例如JpGraph: 不要自己手工编码,那样会很痛苦。我曾经不得不编写一个饼图生成器
我应该如何继续?是否有任何可用的PHP插件或东西,我可以用来生成这种类型的图像,或者我应该使用GD库和手工编码它自己 编辑
我正在寻找一些开源的库。我不知道您试图在该图像中显示什么,但它看起来像某种图形,所以在再次编码之前,我会寻找一个图表库,例如JpGraph:
我不知道您试图在该图像中显示什么,但它看起来像某种图形,因此在再次编码之前,我会查找一个图表库,例如JpGraph:
不要自己手工编码,那样会很痛苦。我曾经不得不编写一个饼图生成器 有很多图形引擎:
看看他们给你提供了什么。可能不完全相同,但非常接近。不要自己手工编码,否则会非常痛苦。我曾经不得不编写一个饼图生成器 有很多图形引擎:
看看他们给你提供了什么。可能不完全相同,但非常接近。您可能正在寻找SVG库
也是一个不错的选择您可能正在寻找SVG库
也是一个不错的选择这看起来像是一个转换为极坐标的条形图 以下是生成此类图片的简单方法:
- 绘制条形图(使用图表库或自己绘制),不留任何间隙 在酒吧间。确保您的栏的左右两侧没有空格
- 使用GD的
函数将图像转换为极坐标gdImageSquareToCircle()
在转换图像之前,您可能需要将条形图旋转180°(即,条形图应该从上到下生长)。这看起来像是转换为极坐标的条形图 以下是生成此类图片的简单方法:
- 绘制条形图(使用图表库或自己绘制),不留任何间隙 在酒吧间。确保您的栏的左右两侧没有空格
- 使用GD的
函数将图像转换为极坐标gdImageSquareToCircle()
$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);
这样做:
$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);
这个:
$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);
这样做:
$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);
它不是PHP。可能是Javascript,jQuery。可能不是PHP,但它是服务器端脚本,而不是Javascript。图表是通过服务器的GET请求创建的,它不是PHP。可能是Javascript,jQuery。可能不是PHP,但它是服务器端脚本,而不是Javascript。该图表是通过服务器的GET请求创建的。尽管raphael非常好,但它需要JavaScript和支持SVG的浏览器(与IE一样,它非常滞后)。尽管raphael非常好,但它需要JavaScript和支持SVG的浏览器(与IE一样,它非常滞后)。