麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php生成扇形比例圖實(shí)例

2024-09-04 11:46:56
字體:
供稿:網(wǎng)友

我們?cè)诤芏嗑W(wǎng)站會(huì)看到一些圖形的百分比顯示圖,像三個(gè)地區(qū)所占地多少或者是成績等,給大家介紹一款用php生成的扇形比例百分比顯示程序代碼,不過使用它首先得有phpGD庫支持,代碼如下:

  1. <?php 
  2. //填充圖表的參數(shù) 
  3. $ChartDiameter = 60; //圖表直徑 
  4. $ChartData = array(30,70);//用于生成圖表的數(shù)據(jù),可通過數(shù)據(jù)庫來取得來確定也可以多個(gè)不過和顏色數(shù)組對(duì)應(yīng) 
  5. //把角度轉(zhuǎn)換為弧度 
  6. function radians($degrees){return($degrees*(pi()/180.0));} 
  7. //取得在圓心為(0,0)圓上 x,y點(diǎn)的值 
  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. //確定統(tǒng)計(jì)的總數(shù) 
  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);//這里是和你上面寫的數(shù)組對(duì)應(yīng)的顏色 
  25. $colorSlice[] = imagecolorallocate($image, 0×00, 0xFF, 0×00); 
  26. //填充背境 
  27. imagefill($image, 0, 0, $colorBody); 
  28. //畫每一個(gè)扇形 
  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. //到此腳本 已經(jīng)生了一幅圖像的,現(xiàn)在需要的是把它發(fā)到瀏覽器上,重要的一點(diǎn)是要將標(biāo)頭發(fā)給瀏覽器,讓它知道是一個(gè)GIF文件。不然的話你只能看到一堆奇怪的亂碼 
  52. header(“Content-type: image/png”); 
  53. imagegif($image); 
  54. ?> 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 俄罗斯16一20sex牲色另类 | 久久草在线视频 | 日韩黄色片免费看 | 色淫视频 | 欧美精品一区自拍a毛片在线视频 | 欧美1—12sexvideos | 91丝袜| 91av国产在线| 中国性xxx| av噜噜噜噜 | 91成人免费 | 思思久而久而蕉人 | 亚洲午夜免费 | 免费午夜视频在线观看 | 国产精品久久久久无码av | 国产亚洲综合一区二区 | 国产亚洲精品久久久久久久久久 | 久久久精品视频网站 | 国产精品自拍av | 久久久成人精品 | 性少妇chinesevideo | 国产成人精品午夜 | 欧美一级特黄aaaaaa在线看首页 | 久久综合伊人 | 欧美成人性色区 | 中文字幕涩涩久久乱小说 | 91麻豆精品国产91久久久点播时间 | 在线看一区二区三区 | 韩国一大片a毛片 | 亚洲午夜国产 | 亚洲精品一区二区三区大胸 | 欧美性生交xxxxx免费观看 | 亚洲性生活视频 | 国产黄色录像片 | 羞羞视频在线免费 | 天天色宗合 | 国产亚洲精品久久午夜玫瑰园 | 成人偷拍片视频在线观看 | 黄色片免费在线 | 日产精品一区二区三区在线观看 | 羞羞答答xxdd在线播放 |