輕量的小程序canvas動畫庫git
canvas 是HTML5的一個重要元素,它可以高效的繪製圖形,可是過於底層,且粗糙的Api,致使開發者很難使用它來作較爲複雜的圖形, 並且它的即時繪製無記憶特性,使得它內部的圖形並不支持動畫更不支持一切交互事件。github
這樣的問題出如今全部支持canvas的客戶端上一樣出如今 微信小程序中的canvas中, 因爲小程序由jscore支持,並無window對象,而且canvas的Api與標準的canvas的Api有所出入,因此市面上絕大部分canvas庫與它無緣。canvas
而wxDraw也就應運而生,專門用於處理小程序上canvas的圖形建立、圖形動畫以及交互問題的。小程序
這些圖形均可以在演示文件裏看到 點這裏微信小程序
var rect = new Shape('rect', {x: 60, y: 60, w: 40, h: 40, fillStyle: "#2FB8AC", rotate: Math.PI/2 },'mix', true);複製代碼
let circle = new Shape('circle', { x: 100, y: 100, r: 40, sA: Math.PI/4,
fillStyle: "#C0D860",
strokeStyle: "#CC333F", rotate: 20, lineWidth: 0, needGra: 'line',
gra: [[0, '#00A0B0'], [0.2, '#6A4A3C'], [0.4, '#CC333F'], [0.6, '#EB6841'], [1, '#EDC951']]},
'fill', true)複製代碼
let polygon = new Shape('polygon', { x: 200, y: 200, r: 40, sides: 9, //9邊形
fillStyle: "#FC354C", rotate: Math.PI / 4 }, 'mix', true)複製代碼
let ellipse = new Shape('ellipse', { x: 200, y: 200, a: 40, b: 100,
fillStyle: "#00A0B0", rotate: Math.PI / 7 }, 'mix', true)複製代碼
let cshape = new Shape('cshape', {
rotate: Math.PI / 2,
points: [[70, 85], [40, 20], [24, 46], [2, 4], [14, 6], [4, 46]],
lineWidth: 5,
fillStyle: "#00A0B0",
rotate: Math.PI / 7,
needGra: 'circle',
smooth:false,
gra: [[0, '#00A0B0'], [0.2, '#6A4A3C'], [0.4, '#CC333F'], [0.6, '#EB6841'], [1, '#EDC951']]
}, 'fill', true)複製代碼
let line = new Shape('line', { points:[[240,373],[11,32],[28,423],[12,105],[203,41],[128,0.06]],
strokeStyle: "#2FB8AC",lineWidth:1, rotate: 0, needShadow: true,smooth:false },
'fill', true)複製代碼
let text = new Shape('text', { x: 200, y: 200, text: "我是測試文字",
fillStyle: "#E6781E", rotate: Math.PI / 3}
'fill', true)複製代碼
這些動畫均可以在演示文件裏看到 點這裏微信
這些事件均可以在演示文件裏看到 點這裏ide
支持函數
是否是特別簡單,特別方便!!!
來,老鐵們!star 走一波!!!測試