• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        php做餅圖的函數(轉)

        php做餅圖的函數(轉)

        更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

        php做餅圖的函數
        作者:qdlover 發表日期:2000年9月15日 閱讀次數:14
        --------------------------------------------------------------------------------

        再介紹一下我自己,呵呵
        我是個新手,當時學php純粹是為了應付領導哦,讓我們做統計圖,我本來是學asp的,突然改行很不適應,不過php功能的確很強大呀,呵呵,我都離不了他了,這不,餅圖,柱型圖都搞定了,可是還有很多問題我不會,還希望大家多指教呀,說了好多廢話了,我還以為是在寫信那
        我的聯系方式是:
         email:qingdaohb@yeah.net
         http://qdlover.yeah.net
        老板催了,沒辦法,餅圖函數出爐了,大家快搶呀

        ########
        bimage.php3
        ########
        <?
        /*
        函數說明
        $chartdata:數據,是數組元素
        $chartfont:字號
        $chartdiameter:決定餅的大小(要看你餓不餓了,呵呵)
        $chartlabel:標題,也是數組元素
        $colorslice:顏色數組,例如$tmp=array255,255,255);$colorslic=array($tmp);
        $colorborder:邊框顏色,數組
        $colortext :文本顏色,數組
        $colorbody:背景顏色,數組
        $file:輸出圖片文件名*/
        function bimage($chartdata,
        $chartfont,
        $chartdiameter ,
        $chartlabel ,
        $colorslice,
        $colorbody ,
        $colorborder,
        $colortext ,
        $file
        )
        {
        $chartdiameter=150;

         $chartfontheight=imagefontheight($chartfont);
         $d1=10;$d2=20;$d3=30;$d4=40;$d5=50;
         $chartdata=array($d1,$d2,$d3,$d4,$d5);
         $chartlabel=array("D1","D2","D3","D4","D5");
         $chartwidth=$chartdiameter+20;
         $chartheight=$chartdiameter+20+(($chartfontheight+2)*count($chartdata));
         header("content-type:image/gif");
         $image=imagecreate($chartwidth,$chartheight);
        $colorbody =imagecolorallocate ($image,$colorbody[0],$colorbody[1],$colorbody[2]);
        $colortext =imagecolorallocate ($image,$colortext[0],$colortext[1],$colortext[2]);
        $colorborder =imagecolorallocate ($image,$colorborder[0],$colorborder[1],$colorborder[2]);
        for ($i=0;$i<count($colorslice);$i++)
        {
        $t=imagecolorallocate($image,$colorslice[$i][0],$colorslice[$i][1],$colorslice[$i][2]);
        $colorslice[$i]=$t;
        }




         for($i=0;$i<count($chartdata);$i++)
         {
         $charttotal+=$chartdata[$i];
         }
         $chartcenterx=$chartdiameter/2+10;
         $chartcentery=$chartdiameter/2+10;
        $degrees=0;
        for($i=0;$i<count($chartdata);$i++)
        {
        $startdegrees=round($degrees);
        $degrees+=(($chartdata[$i]/$charttotal)*360);
        $enddegrees=round($degrees);
        $currentcolor=$colorslice[$i%(count($colorslice))];
        imagearc($image ,
         $chartcenterx,
         $chartcentery,
         $chartdiameter,
         $chartdiameter,
         $startdegrees,
         $enddegrees,
         $currentcolor);
         list($arcx,$arcy)=circle_point($startdegrees,$chartdiameter);

         imageline($image,
         $chartcenterx,
         $chartcentery,
         floor($chartcenterx+$arcx),
         floor($chartcentery+$arcy),
         $currentcolor );
         list($arcx,$arcy)=circle_point($enddegrees,$chartdiameter);

         imageline($image,
         $chartcenterx,
         $chartcentery,
         ceil($chartcenterx+$arcx),
         ceil($chartcentery +$arcy),
         $currentcolor);

         $midpoint=round((($enddegrees-$startdegrees)/2)+$startdegrees);
         list($arcx,$arcy)= circle_point ( $midpoint, $chartdiameter/2);
         imagefilltoborder($image,
         floor($chartcenterx+$arcx),
         floor($chartcentery+$arcy),
         $currentcolor,
         $currentcolor);
         }
         imagearc($image,
        $chartcenterx,
        $chartcentery,
        $chartdiameter,
        $chartdiameter,
        0,360,
        $colorborder);
         imagefilltoborder ($image,
        floor($chartcenterx +( $chartdiameter /2)+2),
        $chartcentery ,
        $colorborder,
        $colorborder );
        for ($i=0;$i<count($chartdata);$i++)
        {
        $currentcolor=$colorslice[$i%(count($colorslice))];
        $liney=$chartdiameter+20+($i*($chartfontheight+2));
        imagerectangle ($image,
        10,
        $liney,
        20+$chartfontheight,
        $liney+$chartfontheight,
        $colorbody);
        imagefilltoborder($image,
         12,
         $liney+2,
         $colorbody,
         $currentcolor);
        imagestring($image,
        $chartfont,
        40+$chartfontheight,
        $liney,
        "$chartlabel[$i]:$chartdata[$i]",
        $colortext);

        }


         imagegif ($image,$file);

        }

        function radians($degrees)
         {
         return($degrees*(pi()/180.0));
         }
        function circle_point($degrees,$diameter)
         {
         $x=cos(radians($degrees))*($diameter/2);
         $y=sin(radians($degrees))*($diameter/2);
         return (array($x,$y));
         }
        ?>
        ###########
        這是一個調用的例子
        ###########

        <?
        include("bfunc.php3");
        $chartdiameter=250;
         $chartfont=5;
         $d1=10;$d2=20;$d3=30;$d4=40;$d5=50;
         $chartdata=array($d1,$d2,$d3,$d4,$d5);
         $chartlabel=array("D1","D2","D3","D4","D5");

         $colorbody=array(0xff,0xff,0xff);
         $colorborder=array(0x00,0x00,0x00);
         $colortext=array(0xff,0xff,0xff);

         $color1=array(0xff,0x00,0x00);
         $color2=array(0x00,0xff,0x00);
         $color3=array(0x00,0x00,0xff);
         $color4=array(0xff,0xff,0x00);
         $color5=array(0xff,0x00,0xff);
         $colorslice=array($color1 ,$color2,$color3,$color4,$color5);
        $file="tj.gif"
        bimage($chartdata,
         $chartfont,
         $chartdiameter ,
         $chartlabel ,
         $colorslice,
         $colorbody ,
         $colorborder,
         $colortext ,
         $file )
        ?>


        【奧索網版權所有,如需轉載,請注明出處】

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 免费又黄又爽又猛的毛片| 免费萌白酱国产一区二区| 久久精品国产精品亚洲毛片| 免费无码又爽又刺激高潮视频| 亚洲麻豆精品果冻传媒| 亚洲毛片免费观看| 亚洲综合欧美色五月俺也去| 美女被免费视频网站a国产| 男人免费视频一区二区在线观看| 亚洲精品无码av天堂| 精品韩国亚洲av无码不卡区| 亚洲日本在线观看视频| 国产在线观a免费观看| 亚洲伊人久久大香线蕉综合图片| 久久国产精品免费一区| 亚洲成AV人片在线播放无码| 亚洲免费闲人蜜桃| WWW亚洲色大成网络.COM | 少妇亚洲免费精品| 好猛好深好爽好硬免费视频| 久久亚洲AV成人无码| 最好免费观看韩国+日本| 高清免费久久午夜精品| 久久精品国产精品亚洲艾| 免费v片在线观看视频网站| 国产精品亚洲一区二区在线观看| 精品国产亚洲男女在线线电影| 中文字幕视频免费| 日本亚洲高清乱码中文在线观看| 亚洲精品国偷自产在线| 老司机在线免费视频| 一级特黄录像免费播放中文版| 亚洲永久在线观看| 亚洲三级电影网址| 国产日产亚洲系列| 免费v片在线观看品善网| 国产成人无码免费看视频软件 | 国产偷伦视频免费观看| 日本视频免费观看| 激情小说亚洲图片| 四虎亚洲精品高清在线观看|