# uni.createCanvasContextAsync(options)

获取CanvasContext对象实例

uni.createCanvasContextAsync 方法可以异步获取页面上指定id的canvas组件的上下文对象CanvasContext。

因微信小程序获取CanvasContext只能异步,所以为了跨端,本API也被设计成了异步API,需要在回调中获取CanvasContext。

获取到CanvasContext对象后,还需通过getContext("2d")方法获取CanvasRenderingContext2D对象。

如果不考虑小程序,那么Web和App其实支持通过uni.getElementById方式同步获取UniCanvasElement

参考文档:

# createCanvasContextAsync 兼容性

Web Android iOS
4.25 4.25 4.25

# 参数

名称 类型 必填 默认值 兼容性 描述
options CreateCanvasContextAsyncOptions - - -
名称 类型 必备 默认值 兼容性 描述
id string.IDString -
canvas 元素的 id 属性
component ComponentPublicInstance -
组件或页面实例,限定在什么范围内查找id
success (context: CanvasContext) => void -
接口调用成功的回调函数
fail (error: UniError) => void -
接口调用失败的回调函数
complete () => void -
接口调用结束的回调函数(调用成功、失败都会执行)

# CanvasContext 的方法

# getContext(type: '2d'): CanvasRenderingContext2D | null

# getContext 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
type string - - -
# 返回值
类型 必备
CanvasRenderingContext2D

# toBlob(callback: CanvasContextToBlobCallback, type?: string, quality?: number): void

创造 Blob 对象

# toBlob 兼容性
Web Android iOS
4.25 x x
# 参数
名称 类型 必填 默认值 兼容性 描述
callback (blob: Blob) => void - - -
type string - - -
quality number - - -

# toDataURL(): string

返回一个包含图片展示的 data URI

# toDataURL 兼容性
Web Android iOS
4.25 4.25 4.25
# 返回值
类型
string

# createImage(): Image

返回一个包含图片展示的 data URI

# createImage 兼容性
Web Android iOS
4.25 4.25 4.25
# 返回值
类型 描述
Image 重复的图像源,支持代码包路径和本地临时路径 (本地路径)
名称 类型 必备 默认值 兼容性 描述
src string -
图片url
classList Array<string> -
只读属性 获取当前元素的的 class 属性的动态集合。
firstChild UniElement -
只读属性 获取当前元素的的第一个子元素,如果元素是无子元素,则返回 null。
lastChild UniElement -
只读属性 获取当前元素的最后一个子元素,如果没有子元素,则返回 null。
parentElement UniElement -
只读属性 获取当前元素在 DOM 树中的父元素,如果没有父元素(如未添加到DOM树中),则返回null。
previousSibling UniElement -
只读属性 获取当前元素的前一个同级元素,没有则返回null。
nextElementSibling UniElement -
只读属性 获取在 DOM 树中紧跟在其后面的同级元素,如果指定的元素为最后一个元素,则返回 null。
children Array<UniElement> -
只读属性 获取当前元素包含的子元素的集合
tagName string -
只读属性 获取当前元素的标签名
nodeName string -
只读属性 获取当前元素的元素名称
dataset Map<string, any> -
只读属性 获取元素上自定义数据属性(data-*)的集合
attributes Map<string, any> -
只读属性 获取元素上所有属性元素的集合
style CSSStyleDeclaration -
只读属性 获取元素的CSS样式对象
scrollWidth number -
只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度
scrollHeight number -
只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度
scrollLeft number -
获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0
scrollTop number -
获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0
offsetLeft number -
只读属性 元素的左边界偏移值 单位px
offsetTop number -
只读属性 元素的顶部边界偏移值 单位px
offsetWidth number -
只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px
offsetHeight number -
只读属性 元素的布局高度,高度包含border、padding的数据值 单位px
ext Map<string, any> -
只读属性 扩展属性
# Image 的方法
# onload(): void | null

图片加载完成事件

# onload 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.25 4.25 x
# takeSnapshot(options: TakeSnapshotOptions): void

对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。 成功会返回图片对应的临时文件路径,目前默认png格式

# takeSnapshot 兼容性
Web Android iOS iOS uni-app x UTS 插件
x 3.93 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
options TakeSnapshotOptions - - 组件截图的参数对象
名称 类型 必备 默认值 兼容性 描述
type string "file" - 截图导出类型,目前仅支持 'file' 保存到临时文件目录
format string "png" - 截图文件格式,目前仅支持 'png'
success (res: TakeSnapshotSuccess) => void - - 成功回调函数定义
fail (res: TakeSnapshotFail) => void - - 失败回调函数定义
complete (res: any) => void - - 完成回调函数定义
# TakeSnapshotSuccess 的属性值
名称 类型 必备 默认值 兼容性 描述
tempFilePath string - - 截图保存的临时文件路径
# TakeSnapshotFail 的属性值
名称 类型 必备 默认值 兼容性 描述
errMsg string - - -
# appendChild(aChild: UniElement): void

将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。

# appendChild 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
aChild UniElement - - 插入子元素对象
# insertBefore(newChild: UniElement, refChild?: UniElement | null): UniElement | null

在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。

# insertBefore 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
newChild UniElement - - 插入子元素对象
refChild UniElement - - 已存在父元素的子元素对象
# 返回值
类型 必备
UniElement
# setAttribute(key: string, value: string): void

设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。

# setAttribute 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
key string - - 属性名称
value string - - 属性值域
# getAttribute(key: string): string | null

获取元素指定的属性值,如果指定的属性不存在则返回null。

# getAttribute 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
key string - - 属性名称
# 返回值
类型 必备
string
# hasAttribute(key: string): boolean

返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。

# hasAttribute 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
key string - - 属性名称
# 返回值
类型
boolean
# removeAttribute(key: string): void

从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。

# removeAttribute 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
key string - - 属性名称
# getBoundingClientRect(): DOMRect

获取元素的大小及其相对于窗口的位置信息。

# getBoundingClientRect 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 返回值
类型
DOMRect
# getDrawableContext(): DrawableContext | null

获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。

# getDrawableContext 兼容性
Web Android iOS iOS uni-app x UTS 插件
x 3.9 4.11 4.25
# 返回值
类型 必备
DrawableContext
# removeChild(aChild: UniElement): UniElement | null

从元素中删除一个子元素,返回删除的元素。

# removeChild 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
aChild UniElement - - 被删除子元素对象
# 返回值
类型 必备
UniElement
# remove(): void

把元素对象从它所属的 DOM 树中删除。

# remove 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# scrollTo(x: number, y: number): void

使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持

# scrollTo 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
x number - - x轴要滚动到坐标位置(单位px)
y number - - y轴要滚动到坐标位置(单位px)
# scrollBy(x: number, y: number): void

使得元素滚动一段特定距离 仅scroll-view、list-view组件支持

# scrollBy 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
x number - - x轴要滚动的距离(单位px)
y number - - y轴要滚动的距离(单位px)
# querySelector(selector: string.cssSelectorString): UniElement | null

返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null

# querySelector 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
selector string.cssSelectorString - - CSS 选择器字符串
# 返回值
类型 必备
UniElement
# querySelectorAll(selector: string.cssSelectorString): UniElement[] | null

返回与指定的选择器组匹配的文档中的元素列表

# querySelectorAll 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
selector string.cssSelectorString - - CSS 选择器字符串
# 返回值
类型 必备
Array<UniElement>
# focus(): void

使元素获取焦点 仅input、Textarea组件支持

# focus 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# blur(): void

使元素丢失焦点 仅input、Textarea组件支持

# blur 兼容性
Web Android iOS iOS uni-app x UTS 插件
4.0 4.0 4.11 4.25
# getAndroidView(): View | null

获取元素android原生view 可能返回null

# getAndroidView 兼容性
Web Android iOS
x 4.25 x
# 返回值
类型 必备
View
# getAndroidActivity(): Activity | null

获取元素android原生activity 可能返回null

# getAndroidActivity 兼容性
Web Android iOS
x 4.25 x
# 返回值
类型 必备
Activity

# createPath2D(): Path2D

返回一个包含图片展示的 data URI

# createPath2D 兼容性
Web Android iOS
4.25 4.25 4.25
# 返回值
类型
Path2D

# requestAnimationFrame(callback: RequestAnimationFrameCallback): number;

在下一次重绘之前,调用用户提供的回调函数

# requestAnimationFrame 兼容性
Web Android iOS
4.25 4.25 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
callback (time: number) => void - - -
# 返回值
类型
number

# cancelAnimationFrame(taskId: number): void;

取消一个先前通过调用 uni.requestAnimationFrame() 方法添加到计划中的动画帧请求

# cancelAnimationFrame 兼容性
Web Android iOS
4.25 4.25 4.25
# 参数
名称 类型 必填 默认值 兼容性 描述
taskId number - - -

# 参见

# 通用类型

# GeneralCallbackResult

名称 类型 必备 默认值 兼容性 描述
errMsg string - - 错误信息