微信小程序 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实现用户名无刷新验证的小例子
Mar 22 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
Oct 12 Javascript
深入浅析JS的数组遍历方法(推荐)
Jun 15 Javascript
微信小程序页面传值实例分析
Apr 19 Javascript
详解Vuex中mapState的具体用法
Sep 28 Javascript
vue 之 .sync 修饰符示例详解
Apr 21 Javascript
vue.js input框之间赋值方法
Aug 24 Javascript
详解easyui 切换主题皮肤
Apr 04 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
Jun 24 Javascript
js中!和!!的区别与用法
May 09 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
Nov 10 Javascript
javascript实现倒计时提示框
Mar 02 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实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
更改Python命令行交互提示符的方法
2015/01/14 Python
Python从MP3文件获取id3的方法
2015/06/15 Python
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
python读取中文txt文本的方法
2018/04/12 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
python实现超市扫码仪计费
2018/05/30 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
六道php面试题附答案
2014/06/05 面试题
三问三解心得体会
2014/09/05 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书