6 回复  |  直到 14 年前
    1
  •  6
  •   2ndkauboy    14 年前

    不要自己编写代码,因为那样会很痛苦。我曾经需要编写一个饼图生成器。

    现在有很多图形引擎:

    1. JpGraph
    2. GraPHPite
    3. Google Chart Tools

    看看他们给你什么。可能不完全一样,但非常接近。

        2
  •  4
  •   Select0r    14 年前

    我不知道您试图在该图像中显示什么,但它看起来像某种图形,所以在再次对其进行编码之前,我会先查找一个图表库,例如JPGRAPH:

    http://jpgraph.net/

        3
  •  2
  •   gclj5    14 年前

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

    下面是生成这样一幅图片的简单方法:

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

    • 使用gd将图像转换为极坐标 gdImageSquareToCircle() 功能

    在转换图像之前,您可能需要将条形图旋转180度(即条形图应该从上到下增长)。

        4
  •  2
  •   Mark Lalor    14 年前

    这个:

    $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,0xffffff00,img_arc_pie);
    图像填充(im,250,250,150,150,-40,0,0xff00ff,img_arc_pie);
    ImageFilledARC($im,250,250,450,450,0,20,0x00ffff,img_arc_pie);
    图像填充区域($im,250,250,350,350,20,50,0x1276a9,img_arc_pie);
    ImageFilledARC($im,250,250,100,100,50,95,0x000000,img_arc_pie);
    图像填充(im,250,250,400,400,95,125,0x1efff,img_arc_pie);
    ImageFilledarc($im,250,250,150,150,125,160,0x45ababb,img_arc_pie);
    图像填充区域($im,250,250,500,500,160,180,0xffa7f1,img_arc_pie);
    ImageFilledARC($im,250,250,300,300,180,235,0xa9134,img_arc_pie);
    图像填充区域($im,250,250,240,240,235,255,0xa13ace,img_arc_pie);
    ImageFilledARC($im,250,250,300,300,255,270,0x00ff00,img_arc_pie);
    
    header(“内容类型:图像/png”);
    IVIMPNG($IM);
    < /代码> 
    
    

    使其成为:

    这样做:

    Image does not exist

        5
  •  1
  •   ebt    14 年前

    你可能在找SVG图书馆。

    raphael 也是个不错的选择

        6
  •  1
  •   Mark Lalor    14 年前

    imagefilledarc 是你的朋友!