微信小程序 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 相关文章推荐
判断目标是否是window,document,和拥有tagName的Element的代码
May 31 Javascript
js中事件的处理与浏览器对象示例介绍
Nov 29 Javascript
Js与下拉列表处理问题解决
Feb 13 Javascript
使用JavaScript的AngularJS库编写hello world的方法
Jun 23 Javascript
jQuery实现textarea自动增长宽高的方法
Dec 18 Javascript
面试常见的js算法题
Mar 23 Javascript
AngularJS 应用模块化的使用
Apr 04 Javascript
详解vue-property-decorator使用手册
Jul 29 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
Sep 07 Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 Javascript
基于vue 动态菜单 刷新空白问题的解决
Aug 06 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
Aug 19 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版(2)
2006/10/09 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
php中fsockopen用法实例
2015/01/05 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
对pandas中Series的map函数详解
2018/07/25 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
如何通过python计算圆周率PI
2020/11/11 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
澳大利亚百货商店中销量第一的商务衬衫品牌:Van Heusen
2018/07/26 全球购物
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
给定一个时间点,希望得到其他时间点
2013/11/07 面试题
物理系毕业生自荐信
2013/11/01 职场文书
法定代表人授权委托书
2014/09/19 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS