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

首頁 > 語言 > PHP > 正文

php 圖片處理函數實例教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产一区中文午夜| 亚洲美女av网站| 精品中文视频在线| 亚洲午夜激情免费视频| 欧美日韩亚洲一区二| 欧美激情videoshd| 国产丝袜精品第一页| 国产精品男人的天堂| 国产精品高潮呻吟久久av黑人| 国产日韩在线观看av| 欧美性猛交xxx| 欧美巨猛xxxx猛交黑人97人| 成人欧美一区二区三区黑人| 91社区国产高清| 日韩在线视频国产| 久久久久久久色| 深夜福利91大全| 国产精品高清在线| 国产精品成人aaaaa网站| 欧美精品在线免费| 久久伊人色综合| 亚洲欧美国产视频| 亚洲免费影视第一页| 欧美成人性生活| 国产欧洲精品视频| 色噜噜狠狠狠综合曰曰曰88av| 国产成人中文字幕| 欧美色欧美亚洲高清在线视频| 久久99青青精品免费观看| 亚洲精品按摩视频| 国产69精品久久久久9999| 欧美大码xxxx| 精品成人在线视频| 久久亚洲精品国产亚洲老地址| 大伊人狠狠躁夜夜躁av一区| 欧美午夜精品在线| 日韩免费高清在线观看| 成人性生交大片免费看小说| 国产91在线播放精品91| 欧美成人免费全部观看天天性色| 国产精品久久久久77777| 亚洲天堂第二页| 在线观看国产成人av片| 国产精品丝袜白浆摸在线| 欧美电影《睫毛膏》| 国模精品视频一区二区三区| 久久免费少妇高潮久久精品99| 成人在线国产精品| 国产精品视频播放| 欧美日韩激情美女| 这里只有精品在线播放| 欧美一级视频一区二区| 成人在线观看视频网站| 国产精品成人观看视频国产奇米| 日韩电视剧免费观看网站| 理论片在线不卡免费观看| 久久青草精品视频免费观看| 欧美日本精品在线| 97碰碰碰免费色视频| 日本免费一区二区三区视频观看| 日本精品视频网站| 国产精品欧美激情| 日韩精品视频在线观看免费| 欧美激情一区二区三区成人| 亚洲色图校园春色| 91美女高潮出水| 国产精品成人久久久久| 欧美日韩中文字幕| 国产丝袜一区二区| 国产日韩欧美在线看| 日韩免费看的电影电视剧大全| 亚洲国产欧美一区二区三区同亚洲| 日韩欧美大尺度| 国产美女精品视频免费观看| 午夜欧美大片免费观看| 久久精品99国产精品酒店日本| 国产亚洲免费的视频看| 国产亚洲精品va在线观看| 日韩成人在线视频网站| 97精品久久久中文字幕免费| 国产精品美女www| 亚洲性视频网址| 国产精品免费一区豆花| 91精品国产自产在线观看永久| 欧美一区二区视频97| 欧美成人午夜视频| 26uuu亚洲国产精品| 亚洲成人精品在线| 亚洲а∨天堂久久精品9966| 日韩在线观看免费| 久久久av电影| 日本高清视频精品| 久久久精品中文字幕| 欧美—级a级欧美特级ar全黄| 伊人伊人伊人久久| 亚洲综合最新在线| 欧美美女15p| 国产在线一区二区三区| 久久久久一本一区二区青青蜜月| 亚洲天堂成人在线| 亚洲影视九九影院在线观看| 奇米一区二区三区四区久久| 亚洲欧美激情视频| 欧美精品在线免费观看| 欧美日韩国产成人高清视频| 久久伊人色综合| 日韩精品视频免费| 亚洲夜晚福利在线观看| 亚洲国产欧美一区二区丝袜黑人| 91国内在线视频| 国内精品小视频在线观看| 奇米一区二区三区四区久久| 亚洲国产另类久久精品| 91精品在线影院| 欧美午夜宅男影院在线观看| 欧美日韩国产综合视频在线观看中文| 久久精品一区中文字幕| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲欧美成人一区二区在线电影| 日韩在线视频免费观看| www.美女亚洲精品| 精品国产31久久久久久| 欧美精品激情在线观看| 亚洲人在线视频| 亚洲男人天堂2023| 国产精品美女主播在线观看纯欲| 亚洲视频网站在线观看| 成人观看高清在线观看免费| 国产91九色视频| 国产精品中文字幕久久久| 日韩av在线免费观看一区| 精品国产一区av| 欧美国产第一页| 91亚洲精品久久久| 国产欧美亚洲精品| 精品国产老师黑色丝袜高跟鞋| 亚洲自拍欧美另类| 亚洲第一网站男人都懂| 亚洲精品成人久久久| 国产成人福利视频| 欧美一级免费看| 亚洲欧美日韩精品久久奇米色影视| 国内精品久久久久久影视8| 久久久久亚洲精品成人网小说| 久久中文字幕一区| 国产精品露脸av在线| 国产欧美一区二区三区久久| 欧美超级乱淫片喷水| 亚洲永久在线观看| 国产日产欧美精品| 日本久久久a级免费| 亚洲美女又黄又爽在线观看| 久色乳综合思思在线视频| 久久久成人的性感天堂| 91精品国产乱码久久久久久蜜臀| 成人亚洲激情网| 91在线观看免费观看| 精品一区二区电影| 亚洲午夜色婷婷在线| 久久人人爽人人爽人人片av高请| 日韩av电影在线网| 日韩av男人的天堂| 国产自产女人91一区在线观看| 亚洲国产一区二区三区在线观看|