English
画布。
属性说明
属性名 | 类型 | 默认值 | 说明 | 平台差异说明 |
---|---|---|---|---|
type | String | 指定 canvas 类型,支持 2d (2.9.0) 和 webgl | 微信小程序 2.7.0+ 抖音小程序1.78.0+ | |
canvas-id | String | canvas 组件的唯一标识符 | ||
disable-scroll | Boolean | false | 当在 canvas 中移动时且有绑定手势事件时,禁止屏幕滚动以及下拉刷新 | 抖音小程序与飞书小程序不支持 |
hidpi | Boolean | true | 是否启用高清处理 | H5 (HBuilder X 3.4.0+)、App-vue (HBuilder X 3.4.0+) |
@touchstart | EventHandle | 手指触摸动作开始 | 抖音小程序1.78.0+ | |
@touchmove | EventHandle | 手指触摸后移动 | 抖音小程序1.78.0+ | |
@touchend | EventHandle | 手指触摸动作结束 | 抖音小程序1.78.0+ | |
@touchcancel | EventHandle | 手指触摸动作被打断,如来电提醒,弹窗 | 抖音小程序1.78.0+ | |
@longtap | EventHandle | 手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动 | 抖音小程序与飞书小程序不支持 | |
@error | EventHandle | 当发生错误时触发 error 事件,detail = {errMsg: 'something wrong'} | 抖音小程序与飞书小程序不支持 |
注意事项:
示例: 查看演示
Template
Script
<template>
<view>
<canvas style="width: 300px; height: 200px;" canvas-id="firstCanvas" id="firstCanvas"></canvas>
<canvas style="width: 400px; height: 500px;" canvas-id="secondCanvas" id="secondCanvas"></canvas>
<canvas style="width: 400px; height: 500px;" canvas-id="secondCanvas" id="secondCanvas" @error="canvasIdErrorCallback"></canvas>
</view>
</template>
相关 api:uni.createCanvasContext
扩展阅读
canvas的常用用途有图表和图片处理,在uni-app插件市场有大量基于canvas的插件,可搜索 图表 、 头像裁剪 、 海报 、 二维码 。
关于图表
nvue页面如何使用canvas
HBuilderX 2.2.5 开始 nvue 页面支持 Canvas,支持 W3C WebGL API WebGL 1.0
示例工程地址:NvueCanvasDemo
在App端,从性能来讲,由于通讯阻塞的问题,nvue的canvas性能不可能达到使用renderjs的vue页面的canvas。在App端,推荐使用vue的canvas。