微信小程序 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 相关文章推荐
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
基于jQuery实现的美观星级评论打分组件代码
Oct 30 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
Bootstrap CSS布局之代码
Dec 17 Javascript
微信小程序 PHP后端form表单提交实例详解
Jan 12 Javascript
ES6正则表达式的一些新功能总结
May 09 Javascript
ES6学习教程之对象字面量详解
Oct 09 Javascript
vue h5移动端禁止缩放代码
Oct 28 Javascript
Angular8 实现table表格表头固定效果
Jan 03 Javascript
vue.js 解决v-model让select默认选中不生效的问题
Jul 28 Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
微信小程序 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
PHP应用JSON技巧讲解
2013/02/03 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
php jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
php二分查找二种实现示例
2014/03/12 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
PHP中overload与override的区别
2017/02/13 PHP
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
有趣的python小程序分享
2017/12/05 Python
Python批量发送post请求的实现代码
2018/05/05 Python
python文件拆分与重组实例
2018/12/10 Python
Python 处理文件的几种方式
2019/08/23 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
亚马逊印度站:Amazon.in
2017/10/15 全球购物
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
护理学毕业生自荐信
2013/10/02 职场文书
工作疏忽检讨书
2014/01/25 职场文书
保护野生动物倡议书
2014/05/16 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
迎新生晚会主持词
2015/06/30 职场文书
分享python函数常见关键字
2022/04/26 Python