微信小程序 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 相关文章推荐
解javascript 混淆加密收藏
Jan 16 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
Jan 04 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
Aug 04 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
May 13 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
Oct 25 Javascript
分析JavaScript数组操作难点
Dec 18 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
Sep 11 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
Nov 04 Javascript
vue-router的hooks用法详解
Jun 08 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
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
用PHP实现验证码功能
2006/10/09 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
PHP xpath()函数讲解
2019/02/11 PHP
PHP微商城开源代码实例
2019/03/27 PHP
PHP之header函数详解
2021/03/02 PHP
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
Python正则捕获操作示例
2017/08/19 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
pygame实现五子棋游戏
2019/10/29 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
关于Python解包知识点总结
2020/05/05 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
美国一家主打母婴用品的团购网站:zulily
2017/09/19 全球购物
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
人力资源管理专业自荐书范文
2014/02/10 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
高中生社会实践心得体会
2016/01/14 职场文书