微信小程序 wxapp画布 canvas详细介绍


Posted in Javascript onOctober 31, 2016

微信小程序 wxapp画布 canvas :最近学习微信小程序的知识,这里记录下小程序 waxpp画布canvas 的知识:

canvas

属性名 类型 默认值 说明
hidden Boolean false 设置画布的显示/隐藏,hidden值为true表示隐藏,值为false表示显示
canvas-id String   canvas组件的唯一标识符
binderror EventHandle   当发生错误时触发error事件,detail = { errMsg: 'something wrong' }

注:

1.canvas标签默认宽度300px、高度225px

2.同一页面中的canvas-id不可重复,如果使用一个已经出现过的canvas-id,该canvas标签对应的画布将被隐藏并不再正常工作

示例代码:下载

<!-- canvas.wxml -->
<canvas style="width: 300px; height: 200px;" canvas-id="firstCanvas"></canvas>
<!-- 当使用绝对定位时,文档流后边的canvas的显示层级高于前边的canvas-->
<canvas style="width: 400px; height: 500px;" canvas-id="secondCanvas"></canvas>
<!-- 因为canvas-id与前一个canvas重复,该canvas不会显示,并会发送一个错误事件到AppService -->
<canvas style="width: 400px; height: 500px;" canvas-id="secondCanvas" binderror="canvasIdErrorCallback"></canvas>
// canvas.js
Page({
 canvasIdErrorCallback: function (e) {
  console.error(e.detail.errMsg);
 },
 onReady: function (e) {

  //使用wx.createContext获取绘图上下文context
  var context = wx.createContext();

  context.setStrokeStyle("#00ff00");
  context.setLineWidth(5);
  context.rect(0,0,200,200);
  context.stroke()
  context.setStrokeStyle ("#ff0000") ;
  context.setLineWidth (2)
  context.moveTo(160,100)
  context.arc(100,100,60,0,2*Math.PI,true);
  context.moveTo(140,100);
  context.arc(100,100,40,0,Math.PI,false);
  context.moveTo(85,80);
  context.arc(80,80,5,0,2*Math.PI,true);
  context.moveTo(125,80);
  context.arc(120,80,5,0,2*Math.PI,true);
  context.stroke();

  //调用wx.drawCanvas,通过canvasId指定在哪张画布上绘制,通过actions指定绘制行为
  wx.drawCanvas({
   canvasId: 'firstCanvas',
   actions: context.getActions() //获取绘图动作数组
  });
 }
});

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery实现仿路边灯箱广告图片轮播效果
Apr 15 Javascript
jQuery实现的Div窗口震动效果实例
Aug 07 Javascript
jQuery实现图片渐入渐出切换展示效果
Aug 15 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
May 25 Javascript
javascript之Boolean类型对象
Jun 07 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
Jul 01 Javascript
jQuery Ajax使用FormData对象上传文件的方法
Sep 07 Javascript
vue.js+Echarts开发图表放大缩小功能实例
Jun 09 Javascript
Webpack执行命令参数详解
Jun 17 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
Jul 09 Javascript
React组件内事件传参实现tab切换的示例代码
Jul 04 Javascript
React Native 混合开发多入口加载方式详解
Sep 23 Javascript
微信小程序 wxapp视图容器 view详解
Oct 31 #Javascript
详解JavaScript跨域总结与解决办法
Oct 31 #Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
Oct 31 #Javascript
微信小程序 获取微信OpenId详解及实例代码
Oct 31 #Javascript
JavaScript事件用法浅析
Oct 31 #Javascript
js中通过getElementsByName访问name集合对象的方法
Oct 31 #Javascript
JavaScript递归操作实例浅析
Oct 31 #Javascript
You might like
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
php循环输出数据库内容的代码
2008/05/24 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
在vue中高德地图引入和轨迹的绘制的实现
2019/10/11 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
python求最大连续子数组的和
2018/07/07 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
婚礼证婚人证婚词
2014/01/13 职场文书
三字经教学反思
2014/04/26 职场文书
市场策划求职信
2014/08/07 职场文书
安全保证书怎么写
2015/02/28 职场文书
教师工作表现自我评价
2015/03/05 职场文书
教师节主持词开场白
2015/05/29 职场文书
KTV员工管理制度
2015/08/06 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
初三化学教学反思
2016/02/22 职场文书
个人售房合同协议书
2016/03/21 职场文书