IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 微信小程序开发之——时钟-Canvas介绍(1) -> 正文阅读

[移动开发]微信小程序开发之——时钟-Canvas介绍(1)

一 概述

  • Canvas画布属性介绍
  • Canvas用法示例(新/旧)

二 Canvas画布属性介绍

属性类型说明
typestring指定 canvas 类型,支持 2d (2.9.0) 和 webgl (2.7.0)
canvas-idstringcanvas 组件的唯一标识符,若指定了 type 则无需再指定该属性
disable-scrollboolean当在 canvas 中移动时且有绑定手势事件时,禁止屏幕滚动以及下拉刷新
bindtouchstarteventhandle手指触摸动作开始
bindtouchmoveeventhandle手指触摸后移动
bindtouchendeventhandle手指触摸动作结束
bindtouchcanceleventhandle手指触摸动作被打断,如来电提醒,弹窗
bindlongtapeventhandle手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动
binderroreventhandle当发生错误时触发 error 事件,detail = {errMsg}

三 Canvas用法示例(新/旧)

3.1 Canvas用法示例—旧

3.1.1 布局文件(index.wxml)

<canvas canvas-id="firstCanvas"></canvas>

3.1.2 逻辑文件(index.js)

onReady: function () {
  //1- 使用 wx.createContext 获取绘图上下文 context
  var context = wx.createCanvasContext('firstCanvas')
  //2-设置填充色
  context.setFillStyle('red') 
  //3-绘制图形形状
  context.fillRect(0,0,150,150) 
  //4-开始绘制
  context.draw()
  },

3.1.3 效果图

3.2 Canvas新用法示例—Canvas 2D

3.2.1 布局文件(index.wxml)

<canvas type="2d" id="myCanvas"></canvas>

3.2.2 逻辑文件(index.js)

 onReady: function () {
    const query = wx.createSelectorQuery() //返回一个 SelectorQuery 对象实例
    query.select('#myCanvas') //查询myCanvas对应的Canvas
      .fields({ node: true, size: true }) //节点,可用      .node()代替
      .exec((res) => { //回调结果
        const canvas = res[0].node //canvas
        const ctx = canvas.getContext('2d') //上下文
        ctx.fillStyle = '#f00' //设置填充颜色
        ctx.fillRect(0, 0, 150, 150) //绘制形状(x,y,width,height)
      })
  },

3.2.3 效果图

3.3 Canvas新用法示例—WebGL

3.3.1 WebGL入门——初识 WebGL

WebGL基础知识学习

3.3.2 小程序中-布局文件(index.wxml)

<canvas type="webgl" id="myCanvas"></canvas>

3.3.3 样式文件(index.wxss)

canvas{
  width: 150px;
  height: 150px;
}

3.3.4 逻辑文件(index.js)

onReady: function () {
    const query = wx.createSelectorQuery()
    query.select('#myCanvas')
      .node()
      .exec((res) => {
        const canvas = res[0].node
        const gl = canvas.getContext('webgl') // 初始化WebGL上下文
        // 确认WebGL支持性
        if (!gl) {
          console.log("无法初始化WebGL,你的浏览器、操作系统或硬件等可能不支持WebGL。");
          return;
        }
        //宽高在布局中设置
        gl.clearColor(1, 0, 0, 1) //将整个画布清除为红色,RGBA(红,绿,蓝,透明度)组成的,后面一个透明度0-1
        gl.clear(gl.COLOR_BUFFER_BIT) // 用上面指定的颜色清除缓冲区
      })
  },

3.3.5 效果图

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:00:30  更:2021-10-01 17:02:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:16:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码