WeZRender是一个微信小程序Canvas增强组件,基于HTML5 Canvas类库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);
特性
数据驱动
利用WeZRender绘图,只需定义图形数据。
var circle = new wezrender.graphic.shape.Circle(
shape: {
cx: 50,
cy: 50,
r: 50
},
style: {
fill: 'red',
lineWidth: 10
}
});
丰富的图形选项
内置多种图形元素(圆形、椭圆、圆环、扇形、矩形、多边形、直线、曲线、心形、水滴、玫瑰线、Trochoid、文字、图片等),统一且丰富的图形属性充分满足个性化需求。
var droplet = new wezrender.graphic.shape.Droplet({
shape: {
cx: 200,
cy: 300,
width: 50,
height: 50
},
style: {
fill: '#ff9999'
}
});
强大的动画支持
提供promise式的动画接口和常用缓动函数,轻松实现各种动画需求。
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();
易于扩展
分而治之的图形定义策略允许扩展图形元素。
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();
}
});
开源协议
本项目依据MIT开源协议发布,允许任何组织和个人免费使用。
项目地址
http://xiazai./201701/yuanma/WeZRender-master().rar
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 微信小程序
# Canvas增强组件
# Canvas增强组件详解
# Canvas
# 微信小程序canvas拖拽、截图组件功能
# 详解微信小程序canvas圆角矩形的绘制的方法
# 微信小程序canvas写字板效果及实例
# 微信小程序小组件 基于Canvas实现直播点赞气泡效果
# 微信小程序 使用canvas制作K线实例详解
# 微信小程序 二维码canvas绘制实例详解
# 微信小程序 canvas开发实例及注意事项
# 微信小程序 wxapp画布 canvas详细介绍
# 微信小程序 canvas API详解及实例代码
# 详解微信小程序-canvas绘制文字实现自动换行
# 开源
# 是一个
# 分而治之
# 只需
# 希望能
# 谢谢大家
# 类库
# cx
# cy
# fill
# zr
# Circle
相关文章:
建站之星微信建站一键生成小程序+多端营销系统
建站主机选哪家性价比最高?
网站制作免费,什么网站能看正片电影?
建站之星后台密码遗忘?如何快速找回?
如何通过智能用户系统一键生成高效建站方案?
宝塔面板创建网站无法访问?如何快速排查修复?
如何选择美橙互联多站合一建站方案?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
如何通过免费商城建站系统源码自定义网站主题与功能?
个人摄影网站制作流程,摄影爱好者都去什么网站?
高防服务器租用指南:配置选择与快速部署攻略
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何在阿里云服务器自主搭建网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何通过PHP快速构建高效问答网站功能?
如何在Windows环境下新建FTP站点并设置权限?
如何快速重置建站主机并恢复默认配置?
小型网站制作HTML,*游戏网站怎么搭建?
建站之星安装后如何自定义网站颜色与字体?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
Python lxml的etree和ElementTree有什么区别
定制建站方案优化指南:企业官网开发与建站费用解析
打鱼网站制作软件,波克捕鱼官方号怎么注册?
高防服务器:AI智能防御DDoS攻击与数据安全保障
动图在线制作网站有哪些,滑动动图图集怎么做?
建站org新手必看:2024最新搭建流程与模板选择技巧
C#如何使用XPathNavigator高效查询XML
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
建站VPS推荐:2025年高性能服务器配置指南
如何在阿里云ECS服务器部署织梦CMS网站?
清除minerd进程的简单方法
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
如何选择适配移动端的WAP自助建站平台?
,交易猫的商品怎么发布到网站上去?
太平洋网站制作公司,网络用语太平洋是什么意思?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
小型网站建站如何选择虚拟主机?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何选择香港主机高效搭建外贸独立站?
如何在局域网内绑定自建网站域名?
寿县云建站:智能SEO优化与多行业模板快速上线指南
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
如何挑选高效建站主机与优质域名?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
*请认真填写需求信息,我们会在24小时内与您取得联系。