微信小程序 canvas API详解及实例代码


Posted in Javascript onOctober 08, 2016

微信小程序 canvas API详解及实例代码

绘图是每个移动应用必备的技术,基本上和Android,IOS,等移动开发都是相同的,创建个上下文,给你个画布再上画,官网给的小例子都比较全了自己去看吧,drawImage时没有反应不知道是BUG还是电脑不能测试待定,http://wxopen.notedown.cn/api/api-canvas.html

屏幕就像是数学上的坐标轴,且在第四象限,以屏幕左上角为圆点,X轴向右为正向左为负,Y轴向下为正向上为负(这点和数学上相反的)以圆点为基点画个距离圆点上下50宽高100的矩形来演示canvas基本用法

微信小程序这里提供了两个API

wx.createContext() 创建并返回绘图上下文context对象

getActions 获取当前context上存储的绘图动作,对应wx.drawCanvas(object)中的actions
clearActions 清空当前的存储绘图动作

wx.drawCanvas(object) 绘制

canvasId 画布标识,传入的cavas-id,这里的标识可以为Number,也可以是String
actions 绘图动作数组,由wx.createContext创建的context,调用getActions方法导出绘图动作数组。

绘图中可以进行变形,绘制,路径,样式,这些个东西有点多官网有例子,这里通过一个例子引入

wxml

<!--画布
 canvas-id 为画布标识,当绘制时通过canvas-id找到画布
-->
<canvas canvas-id="identify"/>

js

Page({
 data:{
  text:"Page canvas"
 },
 onLoad:function(options){
  // 页面初始化 options为页面跳转所带来的参数
 },
 onReady:function(){
  // 页面渲染完成
  //第一步创建个上下文容器
  var context = wx.createContext();

  //第二步绘制这里我们绘制个矩形 
  //x, y, widht, height
  context.rect(50, 50, 100, 100);
  //绘制的样式进行描边绘制,fill为填充位置
  context.stroke();
  /**
   * 调用wx.drawCanvas,通过canvasId指定在哪张画布上绘制,通过actions指定绘制行为
   * 
   *  注意convasId可以为数字表示也可以用字符串表示,就是一个绘制对象的标识,并且可以指定多个
   *  actions 是从context上下文中获取的绘制行为,即为第二步操作
   */

  wx.drawCanvas({
   //画布标识,传入<canvas/>的cavas-id
   canvasId: 'identify',
   //获取绘制行为, 就相当于你想做到菜context.getActions()就是食材
   actions: context.getActions(),
  })


 },
 onShow:function(){
  // 页面显示
 },
 onHide:function(){
  // 页面隐藏
 },
 onUnload:function(){
  // 页面关闭
 }
})

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

Javascript 相关文章推荐
jquery图片放大功能简单实现
Aug 01 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
Aug 01 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
Nov 17 Javascript
js根据日期判断星座的示例代码
Jan 23 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
Aug 12 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
浅析javascript的return语句
Dec 15 Javascript
深入php面向对象、模式与实践
Feb 16 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 Javascript
js微信应用场景之微信音乐相册案例分享
Aug 11 Javascript
jquery的 filter()方法使用教程
Mar 22 jQuery
H5+css3+js搭建带验证码的登录页面
Oct 11 Javascript
微信小程序 animation API详解及实例代码
Oct 08 #Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 #Javascript
Bootstrap Navbar Component实现响应式导航
Oct 08 #Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
Oct 08 #Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
Oct 08 #Javascript
Javascript单例模式的介绍和实例
Oct 08 #Javascript
jquery把int类型转换成字符串类型的方法
Oct 07 #Javascript
You might like
php5.5新数组函数array_column使用
2013/07/08 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
介绍Python的Django框架中的QuerySets
2015/04/20 Python
python使用psutil模块获取系统状态
2016/08/27 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
实习期自我鉴定
2013/10/11 职场文书
公司企业表扬信
2014/01/11 职场文书
双十佳事迹材料
2014/01/29 职场文书
医德医风演讲稿
2014/05/20 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
个人先进事迹总结
2015/02/26 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
详解python字符串驻留技术
2021/05/21 Python
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
MySql数据库触发器使用教程
2022/06/01 MySQL
HttpClient实现文件上传功能
2022/08/14 Java/Android