成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

WeZRender:微信小程序Canvas增強(qiáng)組件。

Ali_ / 3335人閱讀

摘要:是一個(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

相關(guān)文章

  • 擴(kuò)展信小程序框架功能

    摘要:擴(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ā)者工具...

    marek 評論0 收藏0
  • 使用ES6新特性開發(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...

    Backache 評論0 收藏0
  • 信小程序資源匯總

    awesome-github-wechat-weapp 是由OpenDigg整理并維護(hù)的微信小程序開源項(xiàng)目庫集合。我們會定期同步上的項(xiàng)目到這里,也歡迎各位 UI組件開發(fā)框架實(shí)用庫開發(fā)工具服務(wù)端項(xiàng)目實(shí)例Demo UI組件 weui-wxss ★1873 - 同微信原生視覺體驗(yàn)一致的基礎(chǔ)樣式庫zanui-weapp ★794 - 好用易擴(kuò)展的小程序 UI 庫wx-charts ★449 - 微信小程...

    Olivia 評論0 收藏0
  • 使用TypeScript開發(fā)信小程序

    摘要:使用開發(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...

    xingpingz 評論0 收藏0
  • 前端開源項(xiàng)目周報(bào)0109

    摘要:由出品的前端開源項(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...

    Tikitoo 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<