基础库 1.0.0 开始支持,低版本需做兼容处理。

画布。2.9.0 起支持一套新 Canvas 2D 接口(需指定 type 属性),同时支持同层渲染,原有接口不再维护。相关api:获取 canvas 实例。属性类型默认值必填说明最低版本typestring否指定 canvas 类型,支持 2d (2.9.0) 和 webgl (2.7.0)2.7.0

canvas-idstring否canvas 组件的唯一标识符,若指定了 type 则无需再指定该属性1.0.0

disable-scrollbooleanfalse否当在 canvas 中移动时且有绑定手势事件时,禁止屏幕滚动以及下拉刷新1.0.0

bindtouchstarteventhandle否手指触摸动作开始1.0.0

bindtouchmoveeventhandle否手指触摸后移动1.0.0

bindtouchendeventhandle否手指触摸动作结束1.0.0

bindtouchcanceleventhandle否手指触摸动作被打断,如来电提醒,弹窗1.0.0

bindlongtapeventhandle否手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动1.0.0

binderroreventhandle否当发生错误时触发 error 事件,detail = {errMsg}1.0.0

Bug & Tiptip:canvas 标签默认宽度300px、高度150px

tip:同一页面中的 canvas-id 不可重复,如果使用一个已经出现过的 canvas-id,该 canvas 标签对应的画布将被隐藏并不再正常工作

tip:开发者工具中默认关闭了 GPU 硬件加速,可在开发者工具的设置中开启“硬件加速”提高 WebGL 的渲染性能

tip: WebGL 支持通过 getContext('webgl', { alpha: true }) 获取透明背景的画布

tip: Canvas 2D(新接口)需要显式设置画布宽高 (默认为 300x150)

bug: 避免设置过大的宽高,在安卓下会有crash的问题

Canvas 2D 示例代码

// canvas.js

Page({

onReady() {

const query = wx.createSelectorQuery()

query.select('#myCanvas')

.fields({ node: true, size: true })

.exec((res) => {

const canvas = res[0].node

const ctx = canvas.getContext('2d')

const dpr = wx.getSystemInfoSync().pixelRatio

canvas.width = res[0].width * dpr

canvas.height = res[0].height * dpr

ctx.scale(dpr, dpr)

ctx.fillRect(0, 0, 100, 100)

})

}

})

WebGL 示例代码

// canvas.js

Page({

onReady() {

const query = wx.createSelectorQuery()

query.select('#myCanvas').node().exec((res) => {

const canvas = res[0].node

const gl = canvas.getContext('webgl')

gl.clearColor(1, 0, 1, 1)

gl.clear(gl.COLOR_BUFFER_BIT)

})

}

})

示例代码(旧的接口)

Page({

canvasIdErrorCallback: function (e) {

console.error(e.detail.errMsg)

},

onReady: function (e) {

// 使用 wx.createContext 获取绘图上下文 context

var context = wx.createCanvasContext('firstCanvas')

context.setStrokeStyle("#00ff00")

context.setLineWidth(5)

context.rect(0, 0, 200, 200)

context.stroke()

context.setStrokeStyle("#ff0000")

context.setLineWidth(2)

context.moveTo(160, 100)

context.arc(100, 100, 60, 0, 2 * Math.PI, true)

context.moveTo(140, 100)

context.arc(100, 100, 40, 0, Math.PI, false)

context.moveTo(85, 80)

context.arc(80, 80, 5, 0, 2 * Math.PI, true)

context.moveTo(125, 80)

context.arc(120, 80, 5, 0, 2 * Math.PI, true)

context.stroke()

context.draw()

}

})

微信小程序canvas上传PHP,微信小程序画布 canvas相关推荐

  1. 小程序录音上传服务器,微信小程序录音实现功能并上传(使用node解析接收)

    微信小程序录音实现功能并上传(使用node解析接收) 发布时间:2020-09-04 11:59:06 来源:脚本之家 阅读:97 作者:weixin_43188227 背景 我在开发小程序的时候,有 ...

  2. 微信小程序录音上传php代码,小程序实现录音上传功能

    本文实例为大家分享了小程序录音上传的具体代码,供大家参考,具体内容如下 首先我们可以先看一下微信小程序的API 这里有关于小程序录音的一些基本配置 index.wxml: index.wxss: .t ...

  3. 小程序头像上传成功但是小程序码没更新

    微信小程序头像上传了,但是小程序码没更新怎么处理? 如图: 小程序头像上传成功,但是小程序码没更新,是不是让你怀疑人生? 其实不用怀疑,退出登录,重新登录就行了 重新登录后,就可以刷新出新的小程序码图 ...

  4. uniapp开发的微信小程序如何上传至微信小程序平台-完整简单步骤

    一.选中代码进行发行 二.填入微信小程序appid在hbuilderx中点发行 这个id请登录微信小程序号   设置中查看 三.进入微信小程序工具点上传 成功上传. 四.遇到资源超过2M报错 mess ...

  5. img src php 微信 苹果,javascript - file上传的图片,生成到canvas,toDataUrl后在苹果微信上保存下来,是黑色的。...

    我用input file上传图片后,加到canvas里,然后toDataUrl,把地址添加到img上显示,是可以得.但我在苹果微信上,长按保存到本地后,却是黑色的,只有在苹果微信上发现到这问题.... ...

  6. 微信小程序:上传的图片显示旋转问题

    问题? 开发中遇到微信小程序在上传照片后,会有一定概率旋转,查阅了资料之后,发现是和图片中携带的exif信息中的orientation这个参数有关. 小程序的页面实用webview渲染的,webvie ...

  7. 上传声音 微信小程序_SpringBoot开发案例之微信小程序录音上传

    前言 书接上回的<SpringBoot开发案例之微信小程序文件上传>,正常的业务流程是,口语测评需要学生通过前端微信小程序录入一段音频,通过调用第三方音频处理服务商进行评分,然后服务端对原 ...

  8. 微信小程序上传接口php,微信小程序API 上传、下载

    微信小程序API 上传.下载 wx.uploadFile(OBJECT) 将本地资源上传到开发者服务器.如页面通过 wx.chooseImage 等接口获取到一个本地资源的临时文件路径后,可通过此接口 ...

  9. 微信小程序图片上传九宫格拖拽组件

    微信小程序图片上传&九宫格拖拽组件 前言 图片上传加九宫格拖拽是一个比较常用的组件,常用于发帖或者评论等内容上传模块,我这篇九宫格拖拽的思路是借鉴了一款优雅的小程序拖拽排序组件实现这篇文章 实 ...

最新文章

  1. 聊聊 Kafka: Kafka 的基础架构
  2. Android 动画分析学习笔记
  3. DOSbox汇编集成环境下的具体设置
  4. 7-7 列出叶结点 (10 分)
  5. Android播放外部音乐文件
  6. 29muduo_net库源码分析(五)
  7. MAC编译OpenJDK8:ld: library not found for -lstdc++(独家解决办法)
  8. 容器技术Docker K8s 29 容器服务ACK基础与进阶-弹性伸缩
  9. sap服务器安装双系统教程,电脑安装双系统图文教程
  10. VC++内存泄漏检测工具VLD使用方法
  11. matlab解决线性规划问题
  12. 思科路由器配置命令大全
  13. 《2019年中国互联网网络安全报告》发布,恶意程序攻击半数来自美国
  14. 魔百和CM201-1 线机教程 救砖(大部分情况能用)
  15. 海底捞:服务喧宾夺主,盈利不见起色
  16. 第七周 项目四-队列数组
  17. Oculus Rift-S 安装
  18. EPICS驱动Newport XPS-Q8控制器
  19. sdk是什么_动态贴纸在美颜sdk中起着什么作用
  20. java轮盘赌_轮盘赌算法

热门文章

  1. Vue中使用mavonEditor插件实现markdown在线编辑
  2. SQL Server2008安装:应用程序中发生了无法处理的异常
  3. python爬虫遇见needs to review the security of your connection before proceeding绕过 Cloudflare
  4. python五边形的代码_python正五边形代码
  5. 计算机毕业设计ssm 曲沃县农产品销售系统(附源码)
  6. I-SVM SVM增量学习
  7. 如何用MD5加密数据库的敏感数据?
  8. google 云开启 ssh 账号密码登录
  9. 福利分享:1024程序员节,给大家推荐一个极简win10
  10. lol服务器维护2021,2021LOL哪个区人多