摘要:是一個(gè)微信小程序增強(qiáng)組件,基于類庫。強(qiáng)大的動畫支持提供式的動畫接口和常用緩動函數(shù),輕松實(shí)現(xiàn)各種動畫需求。易于擴(kuò)展分而治之的圖形定義策略允許擴(kuò)展圖形元素。開源協(xié)議本項(xiàng)目依據(jù)開源協(xié)議發(fā)布,允許任何組織和個(gè)人免費(fèi)使用。
WeZRender是一個(gè)微信小程序Canvas增強(qiáng)組件,基于HTML5 Canvas類庫ZRender。
使用WXML:
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)目地址https://github.com/guyoung/We...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/86733.html
摘要:擴(kuò)展微信小程序框架功能是狀態(tài)容器,提供可預(yù)測化的狀態(tài)管理。擴(kuò)展微信小程序框架功能日期時(shí)間是一個(gè)的日期時(shí)間處理工具類,其對于的日期時(shí)間處理功能非常強(qiáng)悍和全面。 通過第三方 JavaScript 庫,擴(kuò)展微信小程序框架功能。 擴(kuò)展微信小程序框架功能(1)——Promise ES6 對 Promise 有了原生的支持,但微信開發(fā)者工具更新版本(0.11.112200)后, 移除了開發(fā)者工具...
摘要:使用新特性開發(fā)微信小程序國際化與本地化新特性國際化與本地化新增了很多對于國際化的支持,比如時(shí)間格式,貨幣格式,數(shù)字格式等。 ECMAScript 6(簡稱ES6)是JavaScript語言的最新標(biāo)準(zhǔn)。因?yàn)楫?dāng)前版本的ES6是在2015年發(fā)布的,所以又稱ECMAScript 2015。 微信小程序支持絕大部分ES6的新增特性。 使用ES6新特性開發(fā)微信小程序(1) ES6新特性:Cons...
摘要:使用開發(fā)微信小程序基礎(chǔ)接口核心設(shè)計(jì)原則之一就是類型檢查,通過使用接口可以進(jìn)行類型檢查,滿足傳統(tǒng)面向?qū)ο笏枷?,利于有效開發(fā),有效避免類型轉(zhuǎn)換問題。使用開發(fā)微信小程序基礎(chǔ)迭代器為每一個(gè)對象定義了默認(rèn)的迭代器。 使用TypeScript開發(fā)微信小程序(1)——基礎(chǔ):數(shù)據(jù)類型(Type) ?TypeScript 的基本數(shù)據(jù)類型有boolean、number、string 、array、enum...
摘要:由出品的前端開源項(xiàng)目周報(bào)第五期來啦。我們的前端開源周報(bào)集合了一周來新收錄的優(yōu)質(zhì)的前端開發(fā)方面的開源項(xiàng)目,方便前端開發(fā)人員便捷的找到自己需要的項(xiàng)目工具等。 由OpenDigg?出品的前端開源項(xiàng)目周報(bào)第五期來啦。我們的前端開源周報(bào)集合了OpenDigg一周來新收錄的優(yōu)質(zhì)的前端開發(fā)方面的開源項(xiàng)目,方便前端開發(fā)人員便捷的找到自己需要的項(xiàng)目工具等。 bttn.css 獨(dú)一無二的按鈕 showIm...
閱讀 1854·2021-11-11 16:55
閱讀 1464·2019-08-30 15:54
閱讀 784·2019-08-29 15:34
閱讀 2264·2019-08-29 13:11
閱讀 2923·2019-08-26 13:28
閱讀 1888·2019-08-26 10:49
閱讀 1005·2019-08-26 10:40
閱讀 2566·2019-08-23 18:21