最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序 繪圖之餅圖實(shí)現(xiàn)

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

微信小程序的推出,無(wú)疑將會(huì)在移動(dòng)互聯(lián)網(wǎng)行業(yè)里再次掀起風(fēng)浪。有人會(huì)質(zhì)疑小程序會(huì)不會(huì)火, 會(huì)不會(huì)火我不知道, 看微信的用戶量即可明白一切。這里就先學(xué)習(xí)下微信小程序繪圖的功能實(shí)現(xiàn)。

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

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

布局文件

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

Javascript文件

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

/*  循環(huán)遍歷所有的pie */
  for (i = 0; i < array.length; i++) {
    context.beginPath();
//    起點(diǎn)弧度
    var start = 0;
    if (i > 0) {
//      計(jì)算開(kāi)始弧度是前幾項(xiàng)的總和,即從之前的基礎(chǔ)的上繼續(xù)作畫
      for (j = 0; j < i; j++) {
        start += array[j] / total * 2 * Math.PI; 
      }
    }
    console.log("i:" + i);
    console.log("start:" + start);
//   1.先做第一個(gè)pie
//    2.畫一條弧,并填充成三角餅pie,前2個(gè)參數(shù)確定圓心,第3參數(shù)為半徑,第4參數(shù)起始旋轉(zhuǎn)弧度數(shù),第5參數(shù)本次掃過(guò)的弧度數(shù),第6個(gè)參數(shù)為時(shí)針?lè)较?false為順時(shí)針
   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.填充動(dòng)作
   context.fill();
   context.closePath();
  }

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

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

相關(guān)文章

  • JavaScript前端構(gòu)建工具原理的理解

    JavaScript前端構(gòu)建工具原理的理解

    這篇文章主要為大家介紹了JavaScript前端構(gòu)建工具原理的理解分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Javascript閉包使用場(chǎng)景原理詳細(xì)

    Javascript閉包使用場(chǎng)景原理詳細(xì)

    這篇文章主要介紹了Javascript閉包的使用場(chǎng)景,  由于在Javascript語(yǔ)言中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。所以,在本質(zhì)上,閉包就是將函數(shù)內(nèi)部和函數(shù)外部連接起來(lái)的一座橋梁,下面一起進(jìn)入文化在哪個(gè)了解文章內(nèi)容
    2021-11-11
  • JavaScript 中有了Object 為什么還需要 Map 呢

    JavaScript 中有了Object 為什么還需要 Map 呢

    Map 是用于存儲(chǔ)鍵值的,而 JavaScript 中對(duì)象也是由鍵值對(duì)組成的,那么 Map 存在的意義是什么呢?下面文章小編就來(lái)向大家詳細(xì)介紹吧,需要的朋友可以參考下
    2021-09-09
  • JavaScript異步操作中串行和并行

    JavaScript異步操作中串行和并行

    這篇文章主要介紹了JavaScript異步操作中串行和并行,主要內(nèi)容是寫一下js中es5和es6針對(duì)異步函數(shù),串行執(zhí)行和并行執(zhí)行的方案。已經(jīng)串行和并行結(jié)合使用的例子。,需要的朋友可以參考一下
    2021-11-11
  • 微信公眾號(hào) 客服接口的開(kāi)發(fā)實(shí)例詳解

    微信公眾號(hào) 客服接口的開(kāi)發(fā)實(shí)例詳解

    這篇文章主要介紹了微信公眾號(hào) 客服接口的開(kāi)發(fā)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • 微信小程序(二)Window 配置詳細(xì)介紹

    微信小程序(二)Window 配置詳細(xì)介紹

    這篇文章主要介紹了微信小程序(二)Window 配置詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • TypeScript對(duì)象解構(gòu)操作符在Spartacus實(shí)際項(xiàng)目開(kāi)發(fā)中的應(yīng)用解析

    TypeScript對(duì)象解構(gòu)操作符在Spartacus實(shí)際項(xiàng)目開(kāi)發(fā)中的應(yīng)用解析

    這篇文章主要為大家介紹了TypeScript對(duì)象解構(gòu)操作符在Spartacus實(shí)際項(xiàng)目開(kāi)發(fā)中的應(yīng)用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 帶你理解JavaScript 原型原型鏈

    帶你理解JavaScript 原型原型鏈

    理解js中原型、原型鏈這個(gè)概念,絕對(duì)是幫助我們更深入學(xué)習(xí)js的必要一步,比如,如果js開(kāi)發(fā)者想理解js繼承,new關(guān)鍵字原理,甚至封裝組件、優(yōu)化代碼,弄明白js中原型、原型鏈更是前提條件。本篇文章,用最簡(jiǎn)潔的文字,清楚明白講解原型鏈相等關(guān)系和原型、原型鏈存在的意義
    2021-09-09
  • 微信小程序 input表單與redio及下拉列表的使用實(shí)例

    微信小程序 input表單與redio及下拉列表的使用實(shí)例

    這篇文章主要介紹了微信小程序 input表單與redio及下拉列表的使用實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • 使用純JavaScript封裝一個(gè)消息提示條功能示例詳解

    使用純JavaScript封裝一個(gè)消息提示條功能示例詳解

    這篇文章主要為大家介紹了使用純JavaScript封裝一個(gè)消息提示條功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評(píng)論

晋州市| 曲麻莱县| 临颍县| 江山市| 普兰店市| 平遥县| 金沙县| 文昌市| 泗阳县| 堆龙德庆县| 贡山| 龙州县| 句容市| 茶陵县| 宁化县| 海阳市| 天柱县| 广河县| 蕉岭县| 清河县| 吉林省| 客服| 颍上县| 郸城县| 乌什县| 涞源县| 和政县| 慈利县| 射洪县| 通许县| 纳雍县| 扬中市| 青神县| 嫩江县| 苏尼特右旗| 托克逊县| 平安县| 中山市| 岫岩| 海口市| 开阳县|