轻量的小程序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 走一波!!!测试