亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php 3D餅圖類繪制類函數

2024-09-04 11:44:24
字體:
來源:轉載
供稿:網友

下面關于php 3D餅圖類繪制類函數實現原理是根據//橢圓長半軸等參數繪制一個3D餅圖形的代碼,代碼如下:

  1. class chart{ 
  2.  
  3. var $a//橢圓長半軸  
  4. var $b//橢圓短半軸  
  5. var $DataArray;  //每個扇形的數據  
  6. var $ColorArray//每個扇形的顏色 要求按照十六進制書寫但前面不加0x  
  7. //為邊緣及陰影為黑色 
  8.  
  9. function chart($pa=100,$pb=60,$sData="100,200,300,400,500,300"$sColor="ee00ff,dd0000,cccccc,ccff00,00ccff,ccff00")  
  10. {  
  11.     $this->a=$pa;  
  12.     $this->b=$pb;  
  13.     $this->DataArray=split(",",$sData);  
  14.     $this->ColorArray=split(",",$sColor);  
  15.  
  16. function setA($v){  
  17.     $this->a=$v;  
  18.  
  19. function getA(){  
  20.     return $this->a;  
  21.  
  22. function setB($v){  
  23.     $this->b=$v;   
  24.  
  25. function getB(){  
  26.     return $this->b;  
  27.  
  28. function setDataArray($v){  
  29.     $this->DataArray=split(",",$v);  
  30.  
  31. function getDataArray($v){  
  32.     return $this->DataArray;  
  33.  
  34. function setColorArray($v){  
  35.     $this->ColorArray=split(",",$v);  
  36.  
  37. function getColorArray(){  
  38.     return  $this->ColorArray;  
  39.  
  40.    
  41. function  DrawPie(){  
  42.     $image=imagecreate($this->a*2+40,$this->b*2+40);  
  43.     $PieCenterX=$this->a+10;  
  44.     $PieCenterY=$this->b+10;  
  45.     $DoubleA=$this->a*2;  
  46.     $DoubleB=$this->b*2;  
  47.     list($R,$G,$B)=getRGB(0);  
  48.     $colorBorder=imagecolorallocate($image,$R,$G,$B);  
  49.     $DataNumber=count($this->DataArray);  
  50.       
  51.     //$DataTotal  
  52.     for($i=0;$i<$DataNumber;$i++)      $DataTotal+=$this->DataArray[$i]; //算出數據和  
  53.       
  54.     //填充背境  
  55.     imagefill($image, 0, 0, imagecolorallocate($image, 0xFF, 0xFF, 0xFF)); 
  56.  
  57.     /*  
  58.     ** 畫每一個扇形  
  59.     */  
  60.     $Degrees = 0;  
  61.     for($i = 0; $i < $DataNumber$i++){  
  62.         $StartDegrees = round($Degrees);  
  63.         $Degrees += (($this->DataArray[$i]/$DataTotal)*360);  
  64.         $EndDegrees = round($Degrees);  
  65.         $percent = number_format($this->DataArray[$i]/$DataTotal*100, 1);   
  66.         list($R,$G,$B)=getRGB(hexdec($this->ColorArray[$i]));  
  67.         $CurrentColor=imagecolorallocate($image,$R,$G,$B);  
  68.         if ($R>60 and $R<256)            $R=$R-60;  
  69.         if ($G>60 and $G<256)            $G=$G-60;  
  70.         if ($B>60 and $B<256)            $B=$B-60;  
  71.         $CurrentDarkColor=imagecolorallocate($image,$R,$G,$B);  
  72.         //畫扇形弧  
  73.         imagearc($image,$PieCenterX,$PieCenterY,$DoubleA,$DoubleB,$StartDegrees,$EndDegrees,$CurrentColor);  
  74.         //畫直線  
  75.         list($ArcX$ArcY) = pie_point($StartDegrees , $this->a , $this->b);  
  76.         imageline($image,$PieCenterX,$PieCenterY,floor($PieCenterX + $ArcX),floor($PieCenterY + $ArcY),$CurrentColor);  
  77.         //畫直線  
  78.         list($ArcX$ArcY) = pie_point($EndDegrees,$this->a , $this->b);  
  79.         imageline($image,$PieCenterX,$PieCenterY,ceil($PieCenterX + $ArcX),ceil($PieCenterY + $ArcY),$CurrentColor);  
  80.         //填充扇形  
  81.         $MidPoint = round((($EndDegrees - $StartDegrees)/2) + $StartDegrees);  
  82.         list($ArcX$ArcY) = Pie_point($MidPoint$this->a*3/4 , $this->b*3/4);  
  83.           
  84.         imagefilltoborder($image,floor($PieCenterX + $ArcX),floor($PieCenterY + $ArcY), $CurrentColor,$CurrentColor);  
  85.         imagestring($image,2,floor($PieCenterX + $ArcX-5),floor($PieCenterY + $ArcY-5),$percent."%",$colorBorder); 
  86.  
  87.         //畫陰影  
  88.         if ($StartDegrees>=0 and $StartDegrees<=180){  
  89.            if($EndDegrees<=180){      
  90.                for($k = 1; $k < 15; $k++)  
  91.                 imagearc($image,$PieCenterX$PieCenterY+$k,$DoubleA$DoubleB$StartDegrees$EndDegrees$CurrentDarkColor);  
  92.            }else{  
  93.                for($k = 1; $k < 15; $k++)  
  94.                 imagearc($image,$PieCenterX$PieCenterY+$k,$DoubleA$DoubleB$StartDegrees, 180, $CurrentDarkColor);  
  95.            } 
  96.  
  97.         }  
  98.    }  
  99.           
  100.     /*到此腳本已經生了一幅圖像了  
  101.     **現在需要的是把它發到瀏覽器上,重要的一點是要將標頭發給瀏覽器,讓它知道是一個GIF文件。不然的話你只能看到一堆奇怪的亂碼  
  102.     */   
  103.     //輸出生成的圖片      
  104.     header("Content-type: image/gif");  
  105.     imagegif($image);  
  106.     imagedestroy($image);  
  107. }//End drawPie()  
  108. }//End class 
  109. //開源代碼Vevb.com 
  110. //實現 
  111. $objp = new chart();  
  112. $objp->DrawPie(); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区免费| 久久精品欧美视频| 亚洲精品电影网| 国产精品盗摄久久久| 欧美视频裸体精品| 91啪国产在线| 麻豆国产精品va在线观看不卡| 亚洲а∨天堂久久精品9966| 中文字幕综合一区| 亚洲精品成人久久电影| 日韩成人在线免费观看| 美女久久久久久久| 国产成人精品视频| 92裸体在线视频网站| 欧美大片欧美激情性色a∨久久| 亚洲女人天堂网| 亚洲成人在线网| 日韩高清电影好看的电视剧电影| 欧美二区在线播放| 亚洲欧美精品suv| 精品国产91久久久久久| 精品动漫一区二区三区| 亚洲а∨天堂久久精品9966| 精品久久久久久久久中文字幕| 在线视频欧美性高潮| 亚洲欧美日韩中文在线制服| 成年人精品视频| 国产精品久久久久久久天堂| 国产999精品| 欧美丝袜第一区| 日韩美女毛茸茸| 国语自产在线不卡| 亚洲一区二区三区在线视频| 日韩有码在线电影| 日韩美女激情视频| 亚洲第五色综合网| 久久精品免费播放| 日韩一区二区三区在线播放| 91久久久国产精品| 欧美国产精品日韩| 国产成人avxxxxx在线看| 国产日本欧美一区二区三区| 亚洲韩国青草视频| 久久久亚洲福利精品午夜| 久久综合久中文字幕青草| 2024亚洲男人天堂| 一区二区三区久久精品| 欧美日韩国产在线看| 欧美日韩国产精品一区二区三区四区| 国产综合色香蕉精品| 亚洲国产美女久久久久| 久久精品国产欧美亚洲人人爽| 亚洲aaaaaa| 国产综合在线看| 美女精品视频一区| 97涩涩爰在线观看亚洲| 亚洲一区二区久久久久久久| 综合国产在线视频| 成人精品久久一区二区三区| 久久男人资源视频| 91在线视频导航| 国产欧美日韩中文| 亚洲91精品在线| 国产精品日韩欧美大师| 亚洲精选中文字幕| 欧美高清视频在线观看| 亚洲精品第一页| 成人中文字幕+乱码+中文字幕| 日韩av高清不卡| 日韩欧美福利视频| 国产精品人成电影在线观看| www.久久久久久.com| 日韩电影免费观看在线观看| 在线看日韩av| 国语自产精品视频在线看抢先版图片| 清纯唯美日韩制服另类| 在线国产精品视频| 中文字幕日韩电影| 亚洲天堂一区二区三区| 亚洲最大激情中文字幕| 日韩视频免费大全中文字幕| 97在线观看免费高清| 亚洲激情第一页| 欧美激情亚洲精品| 亚洲精品国产欧美| 一本大道亚洲视频| 92国产精品久久久久首页| 成人深夜直播免费观看| 午夜精品一区二区三区在线视| 亚洲精品在线不卡| 精品无人区乱码1区2区3区在线| 国产精品视频久久久久| 国产精品看片资源| 国产亚洲欧洲高清一区| 亚洲福利视频二区| 在线播放亚洲激情| 欧美一区二区视频97| 一区二区三区动漫| 中文在线资源观看视频网站免费不卡| 亚洲精品乱码久久久久久金桔影视| 久久亚洲影音av资源网| 国产成人av网址| 成人久久久久爱| 久久精品视频在线| 亚洲一区制服诱惑| 久久精品人人做人人爽| 中文字幕日韩精品有码视频| 国模精品视频一区二区三区| 国产精品久久久久久久一区探花| 欧洲午夜精品久久久| 国产99久久久欧美黑人| 欧美插天视频在线播放| 欧美巨猛xxxx猛交黑人97人| 欧美成人中文字幕| 欧美最猛黑人xxxx黑人猛叫黄| 91九色单男在线观看| 亚洲欧洲第一视频| 日韩在线观看精品| 亚洲**2019国产| 国产香蕉精品视频一区二区三区| 久久久免费av| 亚洲欧美日本伦理| 日韩亚洲成人av在线| 欧美激情视频免费观看| 97国产精品久久| 欧美性高潮床叫视频| 伊人久久男人天堂| 人九九综合九九宗合| 国产在线a不卡| 亚洲女人天堂成人av在线| 国产成人精品亚洲精品| 亚洲成色777777在线观看影院| 最近2019年中文视频免费在线观看| 亚洲精品国产精品国自产观看浪潮| 亚洲精品99久久久久中文字幕| 国产欧美日韩中文字幕在线| 91国在线精品国内播放| 久久精品国产v日韩v亚洲| 欧美最猛性xxxxx(亚洲精品)| 欧美成人免费在线观看| 日韩av最新在线| 91福利视频网| 在线观看国产精品淫| 国内外成人免费激情在线视频| 中文在线资源观看视频网站免费不卡| 国产精品99久久久久久久久| 国产不卡av在线免费观看| 97国产精品视频人人做人人爱| 久久精品青青大伊人av| 国产精品情侣自拍| 狠狠色噜噜狠狠狠狠97| 青青草精品毛片| 国产日韩中文字幕在线| 国产日韩一区在线| 亚洲人a成www在线影院| 国产亚洲视频在线观看| 午夜精品久久久久久久久久久久久| 亚洲18私人小影院| 亚洲国产91精品在线观看| 欧美性色xo影院| 国产精品精品一区二区三区午夜版| 在线日韩中文字幕| 亚洲欧美在线看| 乱亲女秽乱长久久久|