亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序 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();
    }
  });

開(kāi)源協(xié)議

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

項(xiàng)目地址

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

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

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)多個(gè)按鈕toggle功能的實(shí)例

    微信小程序?qū)崿F(xiàn)多個(gè)按鈕toggle功能的實(shí)例

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)多個(gè)按鈕toggle功能的實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • js 數(shù)組 fill() 填充方法

    js 數(shù)組 fill() 填充方法

    這篇文章主要介紹了js 數(shù)組 fill() 的填充方法,初始化數(shù)組的方法,但是初始化數(shù)組之后,數(shù)組中的每一項(xiàng)元素默認(rèn)為 empty 空位占位,如何對(duì)數(shù)組這些空位添加默認(rèn)的元素,ES6提供了 fill() 方法實(shí)現(xiàn)這一操作。本文總結(jié)數(shù)組 fill() 方法的詳細(xì)使用,需要的朋友可以參考一下
    2021-10-10
  • JavaScript原型Prototype詳情

    JavaScript原型Prototype詳情

    這篇文章主要介紹了JavaScript原型Prototype,在JavaScript中,函數(shù)是一個(gè)包含屬性和方法的Function類型的對(duì)象。而原型(Prototype?)就是Function類型對(duì)象的一個(gè)屬性。具體內(nèi)容需要的朋友可以參考下面文章的介紹
    2021-12-12
  • Tree Shaking實(shí)現(xiàn)方法指南

    Tree Shaking實(shí)現(xiàn)方法指南

    這篇文章主要為大家介紹了Tree Shaking實(shí)現(xiàn)方法指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Rxjs監(jiān)聽(tīng)精確使用版本上線

    Rxjs監(jiān)聽(tīng)精確使用版本上線

    這篇文章主要為大家介紹了Rxjs監(jiān)聽(tīng)使用不精確版本上線晚3小時(shí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 微信小程序 本地?cái)?shù)據(jù)存儲(chǔ)實(shí)例詳解

    微信小程序 本地?cái)?shù)據(jù)存儲(chǔ)實(shí)例詳解

    這篇文章主要介紹了微信小程序 本地?cái)?shù)據(jù)存儲(chǔ)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 微信小程序 數(shù)據(jù)交互與渲染實(shí)例詳解

    微信小程序 數(shù)據(jù)交互與渲染實(shí)例詳解

    這篇文章主要介紹了微信小程序 數(shù)據(jù)交互與渲染實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • JavaScript?設(shè)計(jì)模式之洋蔥模型原理及實(shí)踐應(yīng)用

    JavaScript?設(shè)計(jì)模式之洋蔥模型原理及實(shí)踐應(yīng)用

    這篇文章主要介紹了JavaScript?設(shè)計(jì)模式之洋蔥模型原理及實(shí)踐應(yīng)用,主要針對(duì)項(xiàng)目中遇到的問(wèn)題,引申到koa-compose原理解析。通過(guò)學(xué)習(xí)洋蔥模式來(lái)解決我們實(shí)際項(xiàng)目中的問(wèn)題
    2022-09-09
  • Svelte嵌套組件preventDefault構(gòu)建Web應(yīng)用

    Svelte嵌套組件preventDefault構(gòu)建Web應(yīng)用

    這篇文章主要介紹了Svelte嵌套組件preventDefault構(gòu)建Web應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Project?Reference優(yōu)化TypeScript編譯性能示例

    Project?Reference優(yōu)化TypeScript編譯性能示例

    這篇文章主要為大家介紹了Project?Reference優(yōu)化TypeScript編譯性能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08

最新評(píng)論