国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序 Canvas增強組件實例詳解及源碼分享

2019-11-19 18:09:47
字體:
來源:轉載
供稿:網友

WeZRender是一個微信小程序Canvas增強組件,基于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);

特性

數據驅動

利用WeZRender繪圖,只需定義圖形數據。

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

豐富的圖形選項

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

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

強大的動畫支持

提供promise式的動畫接口和常用緩動函數,輕松實現各種動畫需求。

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();

易于擴展

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

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();    }  });

開源協議

本項目依據MIT開源協議發布,允許任何組織和個人免費使用。

項目地址

http://xiazai.VeVB.COm/201701/yuanma/WeZRender-master(VeVB.COm).rar

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沐川县| 阜新| 高雄市| 山东省| 阳谷县| 伊春市| 比如县| 道真| 乳山市| 博野县| 台州市| 咸宁市| 延津县| 伊宁市| 峨边| 同仁县| 南宁市| 萝北县| 景泰县| 山阴县| 和田市| 海安县| 东丽区| 广饶县| 昂仁县| 黄梅县| 玉溪市| 黄平县| 清苑县| 独山县| 奉贤区| 六盘水市| 彭阳县| 弥勒县| 剑阁县| 垫江县| 枞阳县| 梁河县| 海阳市| 浠水县| 井研县|