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

微信小程序 Canvas增強(qiáng)組件實(shí)例詳解及源碼分享

 更新時(shí)間:2017年01月04日 09:44:47   作者:guyoung  
這篇文章主要介紹了微信小程序 Canvas增強(qiáng)組件實(shí)例詳解及源碼分享的相關(guān)資料,WeZRender是一個(gè)微信小程序Canvas增強(qiáng)組件,這里詳細(xì)介紹,需要的朋友可以參考下

WeZRender是一個(gè)微信小程序Canvas增強(qiáng)組件,基于HTML5 Canvas類庫(kù)ZRender。

使用

WXML:

 <canvas style="width: 375px; height: 600px;" canvas-id="line-canvas-1">canvas>

JS:

 var wezrender = require('../../lib/wezrender');

  zr = wezrender.zrender.init("line-canvas-1", 375, 600);

特性

數(shù)據(jù)驅(qū)動(dòng)

利用WeZRender繪圖,只需定義圖形數(shù)據(jù)。

 var circle = new wezrender.graphic.shape.Circle(   
    shape: {
      cx: 50,
      cy: 50,
      r: 50
    },
    style: {
      fill: 'red',
      lineWidth: 10
    }
  });

豐富的圖形選項(xiàng)

內(nèi)置多種圖形元素(圓形、橢圓、圓環(huán)、扇形、矩形、多邊形、直線、曲線、心形、水滴、玫瑰線、Trochoid、文字、圖片等),統(tǒng)一且豐富的圖形屬性充分滿足個(gè)性化需求。

 var droplet = new wezrender.graphic.shape.Droplet({
    shape: {
      cx: 200,
      cy: 300,
      width: 50,
      height: 50
    },
    style: {
        fill: '#ff9999'
    }
  });

強(qiáng)大的動(dòng)畫支持

提供promise式的動(dòng)畫接口和常用緩動(dòng)函數(shù),輕松實(shí)現(xiàn)各種動(dòng)畫需求。

var image = new wezrender.graphic.Image({
    style: {
      x: 0,
      y: 0,
      image: '../../images/koala.jpg',
      width: 32,
      height: 24,
      text: 'koala'
    }
  });
  zr.add(image);

  image.animateStyle(true)
    .when(2000, {
      x: 350,
      y: 450,
      width: 360,
      height: 270,
    })
    .start();

易于擴(kuò)展

分而治之的圖形定義策略允許擴(kuò)展圖形元素。

var Pin = wezrender.graphic.Path.extend({
    type: 'pin',
    shape: {
      // x, y on the cusp
      x: 0,
      y: 0,
      width: 0,
      height: 0
    },
    buildPath: function (path, shape) {
      var x = shape.x;
      var y = shape.y;
      var w = shape.width / 5 * 3;
      // Height must be larger than width
      var h = Math.max(w, shape.height);
      var r = w / 2;

      // Dist on y with tangent point and circle center
      var dy = r * r / (h - r);
      var cy = y - h + r + dy;
      var angle = Math.asin(dy / r);
      // Dist on x with tangent point and circle center
      var dx = Math.cos(angle) * r;

      var tanX = Math.sin(angle);
      var tanY = Math.cos(angle);

      path.arc(
        x, cy, r,
        Math.PI - angle,
        Math.PI * 2 + angle
      );

      var cpLen = r * 0.6;
      var cpLen2 = r * 0.7;
      path.bezierCurveTo(
        x + dx - tanX * cpLen, cy + dy + tanY * cpLen,
        x, y - cpLen2,
        x, y
      );
      path.bezierCurveTo(
        x, y - cpLen2,
        x - dx + tanX * cpLen, cy + dy + tanY * cpLen,
        x - dx, cy + dy
      );
      path.closePath();
    }
  });

開源協(xié)議

本項(xiàng)目依據(jù)MIT開源協(xié)議發(fā)布,允許任何組織和個(gè)人免費(fèi)使用。

項(xiàng)目地址

http://xiazai.jb51.net/201701/yuanma/WeZRender-master(jb51.net).rar

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

相關(guān)文章

最新評(píng)論

宁明县| 府谷县| 富平县| 清原| 会理县| 长子县| 赫章县| 开阳县| 莱西市| 宜宾市| 金沙县| 南昌市| 共和县| 郯城县| 布拖县| 门源| 金门县| 巩留县| 于都县| 吴江市| 隆化县| 承德市| 龙泉市| 淮安市| 贡觉县| 宜良县| 安平县| 高雄市| 集贤县| 武安市| 新晃| 东乌珠穆沁旗| 新宁县| 垦利县| 镇安县| 义马市| 冀州市| 都江堰市| 若羌县| 凤台县| 平邑县|