亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序 繪圖之餅圖實現

 更新時間:2016年10月24日 14:32:38   投稿:lqh  
這篇文章主要介紹了微信小程序 繪圖之餅圖實現的相關資料,需要的朋友可以參考下

微信小程序的推出,無疑將會在移動互聯網行業(yè)里再次掀起風浪。有人會質疑小程序會不會火, 會不會火我不知道, 看微信的用戶量即可明白一切。這里就先學習下微信小程序繪圖的功能實現。

官方文檔:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-canvas.html

思路是先畫第一段弧,然后連線回圓心,關閉路徑,注意不需要連線到起始位,用fill()自動閉合到起始點,對照Photoshop里路徑轉選區(qū)的做法可以有助于理解;第二段弧以前一段弧為起始角度,再回圓心,最后關閉路徑;第三段弧以前兩段弧之和為起始角度,掃過相應比重的弧度;以此類推,完成整圓。

布局文件

<canvas canvas-id="canvas2" style="width:200px;height:200px;border:1px solid #ccc;margin-top:100px;"></canvas>

Javascript文件

Page({
 onReady:function(){
  // 頁面渲染完成
  // 創(chuàng)建上下文
  var context = wx.createContext();
// 畫餅圖
//  數據源
  var array = [20, 30, 40, 40];
  var colors = ["#ff0000", "#ffff00", "#0000ff", "#00ff00"];
  var total = 0;
//  計算問題
  for (index = 0; index < array.length; index++) {
    total += array[index];
  }
//  定義圓心坐標
  var point = {x: 100, y: 100};
//  定義半徑大小
  var radius = 60;

/*  循環(huán)遍歷所有的pie */
  for (i = 0; i < array.length; i++) {
    context.beginPath();
//    起點弧度
    var start = 0;
    if (i > 0) {
//      計算開始弧度是前幾項的總和,即從之前的基礎的上繼續(xù)作畫
      for (j = 0; j < i; j++) {
        start += array[j] / total * 2 * Math.PI; 
      }
    }
    console.log("i:" + i);
    console.log("start:" + start);
//   1.先做第一個pie
//    2.畫一條弧,并填充成三角餅pie,前2個參數確定圓心,第3參數為半徑,第4參數起始旋轉弧度數,第5參數本次掃過的弧度數,第6個參數為時針方向-false為順時針
   context.arc(point.x, point.y, radius, start, array[i] / total * 2 * Math.PI, false);
//   3.連線回圓心
   context.lineTo(point.x, point.y);
//   4.填充樣式
   context.setFillStyle(colors[i]);
//   5.填充動作
   context.fill();
   context.closePath();
  }

  wx.drawCanvas({
    canvasId: 'canvas2',
    actions: context.getActions()
  });
 }
})

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • 基于JavaScript代碼實現微信掃一掃下載APP

    基于JavaScript代碼實現微信掃一掃下載APP

    有很多人在做微信的掃一掃下載。但是在微信更新之后微信將該功能給禁止掉了,也不能說是全面禁止吧,因為騰訊、微信是一家嘛,通過應用寶審核的應用好像還是可以通過掃一掃直接下載的,下面通過本篇文章給大家介紹微信掃一掃下載app的代碼片段,感興趣的朋友一起看看吧
    2015-12-12
  • umi插件開發(fā)仿dumi項目實現頁面布局詳解

    umi插件開發(fā)仿dumi項目實現頁面布局詳解

    這篇文章主要為大家介紹了umi插件開發(fā)仿dumi項目實現頁面布局詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Three.js概述和基礎知識學習

    Three.js概述和基礎知識學習

    這篇文章主要為大家介紹了Three.js概述和基礎知識學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • JS實現一個可以當鏡子照的?Button

    JS實現一個可以當鏡子照的?Button

    這篇文章主要介紹了JS實現一個可以當鏡子照的?Button的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • WindiCSS實現加載windi.config.ts配置文件詳解

    WindiCSS實現加載windi.config.ts配置文件詳解

    這篇文章主要為大家介紹了WindiCSS實現加載windi.config.ts配置文件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 微信小程序 window_x64環(huán)境搭建

    微信小程序 window_x64環(huán)境搭建

    這篇文章主要介紹了微信小程序 window_x64環(huán)境搭建的相關資料,需要的朋友可以參考下
    2016-09-09
  • JS前端白屏前世今生及解決方式

    JS前端白屏前世今生及解決方式

    這篇文章主要為大家介紹了JS前端白屏前世今生及解決方式案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 微信小程序 (一)新建項目hello WeApp 詳細介紹

    微信小程序 (一)新建項目hello WeApp 詳細介紹

    這篇文章主要介紹了微信小程序 (一)hello WeApp 詳細介紹的相關資料,需要的朋友可以參考下
    2016-09-09
  • 非常好的js代碼

    非常好的js代碼

    [藍色]非常好的js代碼...
    2006-06-06
  • JavaScript兩張圖搞懂原型鏈

    JavaScript兩張圖搞懂原型鏈

    這篇文章主要分享JavaScript的兩張原型鏈圖,我們上一篇文章介紹了JavaScript中的原型,為什么不將原型鏈一起介紹了呢?因為JavaScript中的原型鏈是一個難點,也是一個面試必問的考點,現在就來學習一下具體內容吧
    2021-12-12

最新評論