最新国产好看的视频,伊人天堂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類庫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ū)動

利用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)大的動畫支持

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

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

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

相關(guān)文章

最新評論

嘉善县| 封丘县| 岚皋县| 南召县| 霞浦县| 吉林省| 平凉市| 蓬莱市| 赤壁市| 永德县| 乌拉特后旗| 武乡县| 柳江县| 吴桥县| 黄梅县| 宾川县| 盐亭县| 高台县| 桃园市| 德阳市| 秦安县| 余江县| 肥乡县| 泰来县| 黄山市| 泰来县| 宣威市| 江都市| 深圳市| 阳信县| 图木舒克市| 札达县| 杭锦旗| 泽普县| 伊宁市| 东阿县| 木里| 凤翔县| 曲阜市| 石景山区| 兰考县|