微信小程序 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和Js中,如何让ajax执行完后再继续往下执行
Jul 09 Javascript
jQuery中;function($,undefined) 前面的分号的用处
Dec 17 Javascript
JS+CSS实现六级网站导航主菜单效果
Sep 28 Javascript
你有必要知道的25个JavaScript面试题
Dec 29 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
Dec 22 Javascript
基于jQuery实现数字滚动效果
Jan 16 Javascript
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
详解Web使用webpack构建前端项目
Sep 23 Javascript
Vue Socket.io源码解读
Feb 07 Javascript
js实现图片无缝循环轮播
Oct 28 Javascript
javascript实现前端成语点击验证优化
Jun 24 Javascript
JavaScript如何使用插值实现图像渐变
Jun 28 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
文件系统基本操作类
2006/11/23 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
详解Vue之计算属性
2020/06/20 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
Python语言实现机器学习的K-近邻算法
2015/06/11 Python
Python+Wordpress制作小说站
2017/04/14 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
GWT都有什么特性
2016/12/02 面试题
财务经理岗位职责
2013/11/09 职场文书
活动策划求职信模板
2014/04/21 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
大足石刻导游词
2015/02/02 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android