国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php 扇形比例百分比顯示程序代碼

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

我們在很多網站會看到一些圖形的百分比顯示圖,像三個地區所占地多少或者是成績等一下我來給大家介紹一款用php生成的扇形比例百分比顯示程序代碼.

不過使用它首先得有phpGD庫支持,代碼如下:

  1. <?php 
  2. //填充圖表的參數 
  3. $ChartDiameter = 60; //圖表直徑 
  4. $ChartData = array(30,70);//用于生成圖表的數據,可通過數據庫來取得來確定也可以多個不過和顏色數組對應 
  5. //把角度轉換為弧度 
  6. function radians($degrees){return($degrees*(pi()/180.0));} 
  7. //取得在圓心為(0,0)圓上 x,y點的值 
  8. function circle_point($degrees,$diameter){$x=cos(radians($degrees))*($diameter/2);$y=sin(radians($degrees))*($diameter/2);return (array($x,$y));} 
  9. //確定圖形的大小 
  10. $ChartWidth = $ChartDiameter + 20; 
  11. $ChartHeight = $ChartDiameter + 20; 
  12. //確定統計的總數 
  13. $ChartTotal = “”; 
  14. for($index = 0;$index < count($ChartData);$index++){ 
  15. $ChartTotal += $ChartData[$index]; 
  16. $ChartCenterX = $ChartDiameter/2 + 10; 
  17. $ChartCenterY = $ChartDiameter/2 + 10; 
  18. //生成空白圖形 
  19. $image = imagecreate($ChartWidth$ChartHeight); 
  20. //分配顏色 
  21. $colorBody = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); 
  22. $colorBorder = imagecolorallocate($image, 0×00, 0×00, 0×00); 
  23. $colorText = imagecolorallocate($image, 0×00, 0×00, 0×00); 
  24. $colorSlice[] = imagecolorallocate($image, 0xFF, 0×00, 0×00);//這里是和你上面寫的數組對應的顏色 
  25. $colorSlice[] = imagecolorallocate($image, 0×00, 0xFF, 0×00); 
  26. //填充背境 
  27. imagefill($image, 0, 0, $colorBody); 
  28. //畫每一個扇形 
  29. $Degrees = 0; 
  30. for($index = 0; $index < count($ChartData); $index++){ 
  31. $StartDegrees = round($Degrees); 
  32. $Degrees += (($ChartData[$index]/$ChartTotal)*360); 
  33. $EndDegrees = round($Degrees); 
  34. $CurrentColor = $colorSlice[$index%(count($colorSlice))]; 
  35. //畫圖F 
  36. imagearc($image,$ChartCenterX,$ChartCenterY,$ChartDiameter,$ChartDiameter,$StartDegrees,$EndDegrees$CurrentColor); 
  37. //畫直線 
  38. list($ArcX$ArcY) = circle_point($StartDegrees$ChartDiameter); 
  39. imageline($image,$ChartCenterX,$ChartCenterY,floor($ChartCenterX + $ArcX), 
  40. floor($ChartCenterY + $ArcY),$CurrentColor); 
  41. //畫直線 
  42. list($ArcX$ArcY) = circle_point($EndDegrees$ChartDiameter); 
  43. imageline($image,$ChartCenterX,$ChartCenterY,ceil($ChartCenterX + $ArcX), 
  44. ceil($ChartCenterY + $ArcY),$CurrentColor); 
  45. //填充扇形 
  46. $MidPoint = round((($EndDegrees – $StartDegrees)/2) + $StartDegrees); 
  47. list($ArcX$ArcY) = circle_point($MidPoint$ChartDiameter/2); 
  48. imagefilltoborder($image,floor($ChartCenterX + $ArcX),floor($ChartCenterY + $ArcY), 
  49. $CurrentColor,$CurrentColor); 
  50. }//開源代碼Vevb.com 
  51. //到此腳本 已經生了一幅圖像的,現在需要的是把它發到瀏覽器上,重要的一點是要將標頭發給瀏覽器,讓它知道是一個GIF文件。不然的話你只能看到一堆奇怪的亂碼 
  52. header(“Content-type: image/png”); 
  53. imagegif($image); 
  54. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昭通市| 平罗县| 武冈市| 时尚| 永登县| 墨竹工卡县| 阳信县| 绥中县| 西贡区| 尤溪县| 故城县| 安达市| 福鼎市| 溆浦县| 三原县| 若尔盖县| 黔江区| 当涂县| 磐安县| 汽车| 临湘市| 恭城| 蒲江县| 长垣县| 海林市| 青冈县| 高密市| 南陵县| 化州市| 图木舒克市| 稻城县| 贵南县| 鸡泽县| 托克托县| 华安县| 长海县| 陆丰市| 石景山区| 嘉黎县| 开化县| 武冈市|