开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
视图容器
基础内容
表单组件
导航
媒体组件
画布
地图
开放组件
无障碍访问
页面属性配置节点
扩展组件
广告
开发 > 组件 > 画布 > canvas 画布
贡献者 3
收藏
订阅更新
我的文档
设置
简介
画布是一个矩形区域,用于在页面上绘制图形、动画,开发者可以控制其中的每一个像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
基础库 2.7.0 起支持新版 canvas。新版 canvas 支持同层渲染,使用时必须指定 type 属性和 onready 事件。相关 api 可查看 获取 canvas 实例
如果您的项目中已使用类似 这样未指定 type 的标签,请参考 旧版 canvas 迁移指南
使用说明
native 渲染引擎:基础库 2.9.7 、客户端 10.5.56 开始支持。可以通过my.caniuse('canvas') 判断是否支持。
属性说明
属性
类型
描述
id
string
组件唯一标识符。 注意:同一页面中的 id 不可重复。
type
string
类型。设置 type 属性后,会渲染成 native canvas。 可选值:2d、webgl 版本要求:基础库 2.7.0
及以上
onready
eventhandle
canvas 组件初始化成功事件。 版本要求:基础库 2.7.0
及以上
width
string
画布宽度。默认值: 300px
height
string
画布高度。默认值: 225px
style
string
-
class
string
-
disable-scroll
boolean
禁止屏幕滚动以及下拉刷新。 默认值: false
ontap
eventhandle
点击事件。
ontouchstart
eventhandle
触摸动作开始事件。
ontouchmove
eventhandle
触摸后移动事件。
ontouchend
eventhandle
触摸动作结束事件。
ontouchcancel
eventhandle
触摸动作被打断,如来电提醒,弹窗事件。
onlongtap
eventhandle
长按 500ms 之后触发,触发了长按事件后进行移动将不会触发屏幕的滚动。
使用
canvas2d
webgl
bug & tip
使用新版 canvas 必须指定 type 类型。
必须在 canvas 组件的 onready 回调函数中获取 canvas 实例和上下文。
若要在高 dpr(devicepixelratio)下取得更细腻的显示,可以设置较大的画布大小,然后用样式等比例缩小组件。例如:
附录:配置同层组件的覆盖元素不响应事件
简介
覆盖在同层组件上方的元素(后称:覆盖元素)默认响应 ui 事件,在 web 标准下配置 pointer-events: none 使事件穿透覆盖元素,令同层组件响应事件,而 ios 平台不支持上述用法,可采用如下方法适配。
使用限制
支持 video、lottie、camera、canvas、map 组件。
基础库版本 2.9.9 及以上。
支付宝版本 10.5.63 及以上。
ios 系统版本 15 及以上。
方法
1覆盖元素不响应 ui 事件,穿透至同层组件上。
2使用 cover-view 组件包裹覆盖元素,配置了 penetrateguesture 属性的 cover-view 组件保证 ios 平台生效,而 android 平台则沿用 pointer-events: none
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图