diff --git a/docs/.vuepress/utils/customTypeJson.json b/docs/.vuepress/utils/customTypeJson.json index 6e25720b5dcee1146e4f54297c31d26a0ebb1adc..43a23f5fb862e03cdfb47d549e533b68a0f08a05 100644 --- a/docs/.vuepress/utils/customTypeJson.json +++ b/docs/.vuepress/utils/customTypeJson.json @@ -1 +1 @@ -{"UniKeyEvent":{"name":"## UniKeyEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniKeyEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### UniKeyEvent 的属性值 @unikeyevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| keyCode | number | 是 | - | - | - |\n| keyType | string | 是 | - | - | - |\n","compatibility":"### UniKeyEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniEvent":{"name":"## UniEvent","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n| eventInit | any | 是 | - | - | 事件初始参数。支持字段:`bubbles`表明该事件是否冒泡。可选,默认为false;`cancelable`表明该事件是否可以被取消。可选,默认为false。 |\n\n### UniEvent 的属性值 @unievent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | - | 触发事件的组件 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | - | 当前组件 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation(): void @stoppropagation","description":"阻止当前事件的进一步传播","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"","returnValue":"","tutorial":""},"preventDefault":{"name":"#### preventDefault(): void @preventdefault","description":"阻止当前事件的默认行为\n","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","param":"","returnValue":"","tutorial":""}},"compatibility":"### UniEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniElement":{"name":"## UniElement","description":"UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。","extends":"","param":"\n### UniElement 的属性值 @unielement-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| classList | Array\\ | 是 | - | | 只读属性 获取当前元素的的 class 属性的动态集合。 |\n| firstChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取当前元素的的第一个子元素,如果元素是无子元素,则返回 null。 |\n| lastChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取当前元素的最后一个子元素,如果没有子元素,则返回 null。 |\n| parentElement | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取当前元素在 DOM 树中的父元素,如果没有父元素(如未添加到DOM树中),则返回null。 |\n| previousSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取当前元素的前一个同级元素,没有则返回null。 |\n| nextElementSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取在 DOM 树中紧跟在其后面的同级元素,如果指定的元素为最后一个元素,则返回 null。 |\n| children | Array\\<[UniElement](/dom/unielement.md)\\> | 是 | - | | 只读属性 获取当前元素包含的子元素的集合 |\n| tagName | string | 是 | - | | 只读属性 获取当前元素的标签名 |\n| nodeName | string | 是 | - | | 只读属性 获取当前元素的元素名称 |\n| dataset | Map\\ | 是 | - | | 只读属性 获取元素上自定义数据属性(data-*)的集合 |\n| attributes | Map\\ | 是 | - | | 只读属性 获取元素上所有属性元素的集合 |\n| style | [CSSStyleDeclaration](/dom/cssstyledeclaration.md) | 是 | - | | 只读属性 获取元素的CSS样式对象 |\n| scrollWidth | number | 是 | - | | 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |\n| scrollHeight | number | 是 | - | | 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |\n| scrollLeft | number | 是 | - | | 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| scrollTop | number | 是 | - | | 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| offsetLeft | number | 是 | - | | 只读属性 元素的左边界偏移值 单位px |\n| offsetTop | number | 是 | - | | 只读属性 元素的顶部边界偏移值 单位px |\n| offsetWidth | number | 是 | - | | 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |\n| offsetHeight | number | 是 | - | | 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |\n| ext | Map\\ | 是 | - | | 只读属性 扩展属性 |\n","methods":{"takeSnapshot":{"name":"#### takeSnapshot(options: TakeSnapshotOptions): void @takesnapshot","description":"对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。\n成功会返回图片对应的临时文件路径,目前默认png格式\n","compatibility":"##### takeSnapshot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.93 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | [TakeSnapshotOptions](#takesnapshotoptions-values) | 是 | - | - | 组件截图的参数对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n@| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n@| success | (res: [TakeSnapshotSuccess](#takesnapshotsuccess-values)) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (res: [TakeSnapshotFail](#takesnapshotfail-values)) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n\n###### TakeSnapshotFail 的属性值 @takesnapshotfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":""},"appendChild":{"name":"#### appendChild(aChild: UniElement): void @appendchild","description":"将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。","compatibility":"##### appendChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 | \n","returnValue":"","tutorial":""},"insertBefore":{"name":"#### insertBefore(newChild: UniElement, refChild?: UniElement \\| null): UniElement \\| null @insertbefore","description":"在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。","compatibility":"##### insertBefore 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 |\n| refChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | 否 |\n \n","tutorial":""},"insertBefore_1":{"name":"#### insertBefore(newChild: UniElement): UniElement \\| null @insertbefore","description":"将一个元素添加到指定父元素的子元素列表的末尾处 功能等同于appendChild","compatibility":"##### insertBefore 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | 否 |\n \n","tutorial":""},"setAttribute":{"name":"#### setAttribute(key: string, value: string): void @setattribute","description":"设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。","compatibility":"##### setAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 |\n| value | string | 是 | - | - | 属性值域 | \n","returnValue":"","tutorial":""},"getAttribute":{"name":"#### getAttribute(key: string): string \\| null @getattribute","description":"获取元素指定的属性值,如果指定的属性不存在则返回null。","compatibility":"##### getAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string \\| null | 否 |\n \n","tutorial":""},"hasAttribute":{"name":"#### hasAttribute(key: string): boolean @hasattribute","description":"返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。","compatibility":"##### hasAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"removeAttribute":{"name":"#### removeAttribute(key: string): void @removeattribute","description":"从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。","compatibility":"##### removeAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"","tutorial":""},"getBoundingClientRect":{"name":"#### getBoundingClientRect(): DOMRect @getboundingclientrect","description":"获取元素的大小及其相对于窗口的位置信息。","compatibility":"##### getBoundingClientRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [DOMRect](/dom/domrect.md) | 一个 DOMRect 代表一个矩形。 |\n \n","tutorial":""},"getDrawableContext":{"name":"#### getDrawableContext(): DrawableContext \\| null @getdrawablecontext","description":"获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。","compatibility":"##### getDrawableContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [DrawableContext](/dom/drawablecontext.md) \\| null | 否 |\n \n","tutorial":""},"removeChild":{"name":"#### removeChild(aChild: UniElement): UniElement \\| null @removechild","description":"从元素中删除一个子元素,返回删除的元素。","compatibility":"##### removeChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 被删除子元素对象 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | 否 |\n \n","tutorial":""},"remove":{"name":"#### remove(): void @remove","description":"把元素对象从它所属的 DOM 树中删除。","compatibility":"##### remove 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"scrollTo":{"name":"#### scrollTo(x: number, y: number): void @scrollto","description":"使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持","compatibility":"##### scrollTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |\n| y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) | \n","returnValue":"","tutorial":""},"scrollBy":{"name":"#### scrollBy(x: number, y: number): void @scrollby","description":"使得元素滚动一段特定距离 仅scroll-view、list-view组件支持","compatibility":"##### scrollBy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动的距离(单位px) |\n| y | number | 是 | - | - | y轴要滚动的距离(单位px) | \n","returnValue":"","tutorial":""},"querySelector":{"name":"#### querySelector(selector: string.cssSelectorString): UniElement \\| null @queryselector","description":"返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null","compatibility":"##### querySelector 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | 否 |\n \n","tutorial":""},"querySelectorAll":{"name":"#### querySelectorAll(selector: string.cssSelectorString): UniElement[] \\| null @queryselectorall","description":"返回与指定的选择器组匹配的文档中的元素列表","compatibility":"##### querySelectorAll 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\<[UniElement](/dom/unielement.md)\\> \\| null | 否 |\n \n","tutorial":""},"focus":{"name":"#### focus(): void @focus","description":"使元素获取焦点 仅input、Textarea组件支持","compatibility":"##### focus 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"blur":{"name":"#### blur(): void @blur","description":"使元素丢失焦点 仅input、Textarea组件支持","compatibility":"##### blur 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"getIOSView":{"name":"#### getIOSView(): UIView \\| null @getiosview","description":"获取元素ios原生view","compatibility":"##### getIOSView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | x | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView \\| null | 否 |\n \n","tutorial":""},"getAndroidView":{"name":"#### getAndroidView(): View \\| null @getandroidview","description":"获取元素android原生view 可能返回null","compatibility":"##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View \\| null | 否 |\n \n","tutorial":""},"getAndroidView_1":{"name":"#### getAndroidView\\(): T \\| null @getandroidview","description":"获取元素android原生view 通过泛型定义view类型 可能返回null","compatibility":"##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| T \\| null | 否 |\n \n","tutorial":""},"getAndroidActivity":{"name":"#### getAndroidActivity(): Activity \\| null @getandroidactivity","description":"获取元素android原生activity 可能返回null","compatibility":"##### getAndroidActivity 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Activity \\| null | 否 |\n \n","tutorial":""}},"compatibility":"### UniElement 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |"},"CSSStyleDeclaration":{"name":"## CSSStyleDeclaration","description":"CSSStyleDeclaration表示一个CSS 声明块对象,它是一个 CSS 属性键值对的集合,暴露样式信息和各种与样式相关的方法和属性。","extends":"","param":"","methods":{"setProperty":{"name":"#### setProperty(name: string \\| string.cssPropertyString, value: any \\| null): void @setproperty","description":"对CSS指定样式设置一个新值,如有此样式已存在则更新。","compatibility":"##### setProperty 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | CSS样式名称 |\n| value | any \\| null | 否 | - | - | 要设置的新CSS样式值 | \n","returnValue":"","tutorial":""},"getPropertyValue":{"name":"#### getPropertyValue(property: string \\| string.cssPropertyString): any \\| null @getpropertyvalue","description":"获取CSS指定的样式值,如果指定的样式不存在则返回null。","compatibility":"##### getPropertyValue 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| property | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | 要获取的CSS样式名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","tutorial":""},"removeProperty":{"name":"#### removeProperty(property: string \\| string.cssPropertyString): any \\| null @removeproperty","description":"删除CSS指定的样式值","compatibility":"##### removeProperty 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| property | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | 要删除的CSS样式名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","tutorial":""}},"compatibility":"### CSSStyleDeclaration 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |"},"TakeSnapshotOptions":{"name":"## TakeSnapshotOptions","description":"组件截图的参数配置选项","extends":"","param":"\n### TakeSnapshotOptions 的属性值 @takesnapshotoptions-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n| success | (res: **TakeSnapshotSuccess**) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n| fail | (res: **TakeSnapshotFail**) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - |\n| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n","compatibility":"### TakeSnapshotOptions 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotSuccessCallback":{"name":"## TakeSnapshotSuccessCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotSuccessCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotSuccess":{"name":"## TakeSnapshotSuccess","description":"","extends":"","param":"\n### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n","compatibility":"### TakeSnapshotSuccess 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotFailCallback":{"name":"## TakeSnapshotFailCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotFailCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotFail":{"name":"## TakeSnapshotFail","description":"","extends":"","param":"\n### TakeSnapshotFail 的属性值 @takesnapshotfail-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","compatibility":"### TakeSnapshotFail 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotCompleteCallback":{"name":"## TakeSnapshotCompleteCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotCompleteCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"DOMRect":{"name":"## DOMRect","description":"一个 DOMRect 代表一个矩形。","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 否 | 0 | - | 矩形原点的x坐标 |\n| y | number | 否 | 0 | - | 矩形原点的y坐标 |\n| width | number | 否 | 0 | - | 矩形的宽 |\n| height | number | 否 | 0 | - | 矩形的高 |\n\n### DOMRect 的属性值 @domrect-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | | 矩形的宽 |\n| height | number | 是 | - | | 矩形的高 |\n| x | number | 是 | - | | 矩形原点的x坐标 |\n| y | number | 是 | - | | 矩形原点的y坐标 |\n| left | number | 是 | - | | 矩形的左坐标值 |\n| right | number | 是 | - | | 矩形的右坐标值 |\n| top | number | 是 | - | | 矩形的顶坐标值 |\n| bottom | number | 是 | - | | 矩形的底坐标值 |\n","compatibility":"### DOMRect 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |"},"DrawableContext":{"name":"## DrawableContext","description":"","extends":"","param":"\n### DrawableContext 的属性值 @drawablecontext-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| font | string | 是 | 10px | | 设置字体大小 |\n| fillStyle | [string.ColorString](/uts/data-type.md#ide-string) | 是 | #000 (黑色) | | 设置填充颜色 |\n| lineCap | string | 是 | butt | | 指定如何绘制每一条线条末端的属性,可选值:`butt`线段末端以方形结束;`round`线段末端以圆形结束;`square`线段末端以方形结束,但是会增加一个一半宽度的矩形区域。 |\n| lineDashOffset | number | 是 | - | | 设置虚线偏移量 |\n| lineJoin | string | 是 | miter | | 设置 2 个长度不为 0 的线条相连部分如何连接在一起的属性,可选值:`bevel`斜角;`round`圆角;`miter`尖角。 |\n| lineWidth | number | 是 | 1px | | 设置线条的宽度 |\n| strokeStyle | [string.ColorString](/uts/data-type.md#ide-string) | 是 | #000 (黑色) | | 设置边框的颜色 |\n| textAlign | string | 是 | left | | 设置文本的对齐方式,可取值:`left`左对齐;`center`居中对齐;`right`右对齐。 |\n","methods":{"beginPath":{"name":"#### beginPath(): void @beginpath","description":"创建一个新的空路径","compatibility":"##### beginPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"arc":{"name":"#### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean \\| null): void @arc","description":"绘制一段弧线","compatibility":"##### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆心的X轴坐标 |\n| y | number | 是 | - | - | 圆心的Y轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean \\| null | 否 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n","returnValue":"","tutorial":""},"moveTo":{"name":"#### moveTo(x: number, y: number): void @moveto","description":"将一个新的路径的起始点移动到 (x,y) 坐标","compatibility":"##### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n","returnValue":"","tutorial":""},"rect":{"name":"#### rect(x: number, y: number, width: number, height: number): void @rect","description":"创建一个矩形路径","compatibility":"##### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","tutorial":""},"lineTo":{"name":"#### lineTo(x: number, y: number): void @lineto","description":"将路径的最后一个点连接到 (x,y) 坐标","compatibility":"##### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n","returnValue":"","tutorial":""},"closePath":{"name":"#### closePath(): void @closepath","description":"闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。","compatibility":"##### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"stroke":{"name":"#### stroke(): void @stroke","description":"绘制当前或已经存在的路径的边框。","compatibility":"##### stroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"strokeRect":{"name":"#### strokeRect(x: number, y: number, width: number, height: number): void @strokerect","description":"绘制一个矩形框","compatibility":"##### strokeRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","tutorial":""},"strokeText":{"name":"#### strokeText(text: string, x: number, y: number): void @stroketext","description":"绘制空心字符","compatibility":"##### strokeText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要绘制的字符 |\n| x | number | 是 | - | - | 字符开始绘制的X轴坐标 |\n| y | number | 是 | - | - | 字符开始绘制的Y轴坐标 | \n","returnValue":"","tutorial":""},"fill":{"name":"#### fill(fillRule?: string \\| null): void @fill","description":"填充当前或已存在的路径","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fillRule | string \\| null | 否 | nonzero | - | 填充规则。可取值:`nonzero`非零环绕规则;`evenodd`奇偶环绕规则。 | \n","returnValue":"","tutorial":""},"fillRect":{"name":"#### fillRect(x: number, y: number, width: number, height: number): void @fillrect","description":"绘制一个实心矩形","compatibility":"##### fillRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","tutorial":""},"fillText":{"name":"#### fillText(text: string, x: number, y: number): void @filltext","description":"绘制实心字符","compatibility":"##### fillText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要绘制的字符 |\n| x | number | 是 | - | - | 字符开始绘制的X轴坐标 |\n| y | number | 是 | - | - | 字符开始绘制的Y轴坐标 | \n","returnValue":"","tutorial":""},"reset":{"name":"#### reset(): void @reset","description":"清空绘制数据","compatibility":"##### reset 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"update":{"name":"#### update(): void @update","description":"将所有绘制内容更新到画布上","compatibility":"##### update 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"setLineDash":{"name":"#### setLineDash(segments: Array\\): void @setlinedash","description":"设置虚线样式","compatibility":"##### setLineDash 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| segments | number[\\] | 是 | - | - | 一组描述交替绘制线段和间距长度的数字。 | \n","returnValue":"","tutorial":""},"bezierCurveTo":{"name":"#### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto","description":"创建三次方贝塞尔曲线路径","compatibility":"##### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","tutorial":""}},"compatibility":"### DrawableContext 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/API/element-draw/element-draw.uvue) \n >\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n```uvue\n\n\n\n\n\n\n```"},"UniCallbackWrapper":{"name":"## UniCallbackWrapper","description":"事件回调封装类,用于注销监听函数的形参","extends":"","param":"","compatibility":"### UniCallbackWrapper 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniMouseEvent":{"name":"## UniMouseEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniPointerEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### UniMouseEvent 的属性值 @unimouseevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n","compatibility":"### UniMouseEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniCustomEvent":{"name":"## UniCustomEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniCustomEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| detail | T | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| options | any | 是 | - | - | - |\n\n### UniCustomEvent 的属性值 @unicustomevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | T | 是 | - | - | - |\n","compatibility":"### UniCustomEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniTouchEvent":{"name":"## UniTouchEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniTouchEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### UniTouchEvent 的属性值 @unitouchevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| touches | Array\\<**UniTouch**\\> | 是 | - | - | 当前停留在屏幕中的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| changedTouches | Array\\<**UniTouch**\\> | 是 | - | - | 当前变化的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n","compatibility":"### UniTouchEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniTouch":{"name":"## UniTouch","description":"","extends":"","param":"\n### UniTouch 的属性值 @unitouch-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n","compatibility":"### UniTouch 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniPointerEvent":{"name":"## UniPointerEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniPointerEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### UniPointerEvent 的属性值 @unipointerevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n","compatibility":"### UniPointerEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniObjectCustomEvent":{"name":"## UniObjectCustomEvent","description":"UniObject自定义事件","extends":"```mermaid\ngraph LR\n \nUniObjectCustomEvent -- Extends --> UniCustomEvent\n style UniCustomEvent color:#42b983\n click UniCustomEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| detail | any | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n\n### UniObjectCustomEvent 的属性值 @uniobjectcustomevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| detail | UTSJSONObject | 是 | - | - | - |\n","compatibility":"### UniObjectCustomEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |"},"UniResizeObserver":{"name":"## UniResizeObserver","description":"用于监视 UniElement 元素的大小变化。它可以观察一个或多个","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: Array\\<**UniResizeObserverEntry**\\>) => void | 是 | - | - | 每当监视的元素调整大小时,回调该函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n@| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n@| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n@| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | - | 只读属性 包含被监视元素大小的DOMRect |\n@| target | [UniElement](/dom/unielement.md) | 是 | - | - | 只读属性 被监视的 UniElement |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: Array\\<**UniResizeObserverEntry**\\>, observer: [UniResizeObserver](/dom/uniresizeobserver.md)) => void | 是 | - | - | 每当监视的元素调整大小时,回调该函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n@| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n@| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n@| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | - | 只读属性 包含被监视元素大小的DOMRect |\n@| target | [UniElement](/dom/unielement.md) | 是 | - | - | 只读属性 被监视的 UniElement |\n","methods":{"disconnect":{"name":"#### disconnect(): void @disconnect","description":"取消所有的对 UniElement 目标的监视","compatibility":"##### disconnect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"","returnValue":"","tutorial":""},"observe":{"name":"#### observe(target: UniElement): void @observe","description":"监视指定 UniElement 大小变化","compatibility":"##### observe 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 被监视的 UniElement | \n","returnValue":"","tutorial":""},"unobserve":{"name":"#### unobserve(target: UniElement): void @unobserve","description":"结束对指定的 UniElement 的监视","compatibility":"##### unobserve 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 取消监视的 UniElement | \n","returnValue":"","tutorial":""}},"compatibility":"### UniResizeObserver 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/API/resize-observer/resize-observer.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/resize-observer/resize-observer\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n outBoxSizeInfo: \"\",\r\n innerBoxSizeInfo: \"\",\r\n offset: 2,\r\n boxDisplay: false,\r\n outBoxElement: null as UniElement | null,\r\n innerBoxElement: null as UniElement | null,\r\n resizeObserver: null as UniResizeObserver | null,\r\n outBoxElementOnResize: false\r\n }\r\n },\r\n onBackPress() : boolean {\r\n if (this.resizeObserver != null) {\r\n this.resizeObserver!.disconnect()\r\n }\r\n return false\r\n },\r\n onReady() {\r\n if (this.resizeObserver == null) {\r\n this.resizeObserver = new UniResizeObserver((entries : Array) => {\r\n\r\n entries.forEach(entry => {\r\n if (entry.target == this.outBoxElement) {\r\n this.outBoxSizeInfo = this.analysisResizeObserverEntry(entry)\r\n this.outBoxElementOnResize = true\r\n } else if (entry.target == this.innerBoxElement) {\r\n this.innerBoxSizeInfo = this.analysisResizeObserverEntry(entry)\r\n }\r\n })\r\n })\r\n this.outBoxElement = uni.getElementById(\"outBox\")\r\n if (this.outBoxElement != null) {\r\n this.resizeObserver!.observe(this.outBoxElement!)\r\n }\r\n this.innerBoxElement = uni.getElementById(\"innerBox\")\r\n if (this.innerBoxElement != null) {\r\n this.resizeObserver!.observe(this.innerBoxElement!)\r\n }\r\n this.boxDisplay = true\r\n }\r\n },\r\n methods: {\r\n innerBoxClick() {\r\n if (this.innerBoxElement != null) {\r\n this.innerBoxElement!.style.setProperty(\"width\", this.innerBoxElement!.offsetWidth + this.offset + 'px')\r\n this.innerBoxElement!.style.setProperty(\"height\", this.innerBoxElement!.offsetWidth + this.offset + 'px')\r\n }\r\n },\r\n outBoxClick() {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElement!.style.setProperty(\"width\", this.outBoxElement!.offsetWidth + this.offset + 'px')\r\n this.outBoxElement!.style.setProperty(\"height\", this.outBoxElement!.offsetWidth + this.offset + 'px')\r\n }\r\n },\r\n revertBoxSize() {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElement!.style.setProperty(\"width\", \"140px\")\r\n this.outBoxElement!.style.setProperty(\"height\", \"140px\")\r\n }\r\n if (this.innerBoxElement != null) {\r\n this.innerBoxElement!.style.setProperty(\"width\", \"80px\")\r\n this.innerBoxElement!.style.setProperty(\"height\", \"80px\")\r\n }\r\n },\r\n //自动化测试专用\r\n setOutBoxMarginLeft(value : string) {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElementOnResize = false\r\n this.outBoxElement!.style.setProperty(\"margin-left\", value)\r\n }\r\n },\r\n toggleDisplay() {\r\n this.boxDisplay = !this.boxDisplay\r\n },\r\n analysisResizeObserverEntry(entry : UniResizeObserverEntry) : string {\r\n const contentBoxSize = entry.contentBoxSize[0]\r\n const borderBoxSize = entry.borderBoxSize[0]\r\n const devicePixelContentBoxSize = entry.devicePixelContentBoxSize[0]\r\n return \"borderBoxSize: \\n{blockSize:\" + borderBoxSize.blockSize + \", inlineSize:\" + borderBoxSize.inlineSize + \"}\\n\" +\r\n \"contentBoxSize: \\n{blockSize:\" + contentBoxSize.blockSize + \", inlineSize:\" + contentBoxSize.inlineSize + \"}\\n\" +\r\n \"devicePixelContentBoxSize: \\n{blockSize:\" + devicePixelContentBoxSize.blockSize + \", inlineSize:\" + devicePixelContentBoxSize.inlineSize + \"}\\n\" +\r\n \"contentRect: \\n{x:\" + entry.contentRect.x + \", y:\" + entry.contentRect.y + \", width:\" + entry.contentRect.width + \", height:\" + entry.contentRect.height + \"}\"\r\n },\n cancelListen(){\n // this.resizeObserver?.unobserve()\n this.resizeObserver!.unobserve(this.outBoxElement!)\n this.resizeObserver!.unobserve(this.innerBoxElement!)\n },\n goOnListen(){\n this.resizeObserver!.observe(this.outBoxElement!)\n this.resizeObserver!.observe(this.innerBoxElement!)\n }\r\n }\r\n }\r\n\n```\n:::"},"UniResizeObserverEntry":{"name":"## UniResizeObserverEntry","description":"UniResizeObserverEntry 接口是传递给 UniResizeObserver() 构造函数中的回调函数参数的对象","extends":"","param":"\n### UniResizeObserverEntry 的属性值 @uniresizeobserverentry-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | - | 只读属性 包含被监视元素大小的DOMRect |\n| target | [UniElement](/dom/unielement.md) | 是 | - | - | 只读属性 被监视的 UniElement |\n","compatibility":"### UniResizeObserverEntry 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |"},"UniBorderBoxSize":{"name":"## UniBorderBoxSize","description":"被监视的元素带有边框box的大小","extends":"","param":"\n### UniBorderBoxSize 的属性值 @uniborderboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n","compatibility":"### UniBorderBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |"},"UniContentBoxSize":{"name":"## UniContentBoxSize","description":"被监视的元素内容box的大小","extends":"","param":"\n### UniContentBoxSize 的属性值 @unicontentboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n","compatibility":"### UniContentBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |"},"UniDevicePixelContentBoxSize":{"name":"## UniDevicePixelContentBoxSize","description":"被监视的元素内容box的设备像素大小","extends":"","param":"\n### UniDevicePixelContentBoxSize 的属性值 @unidevicepixelcontentboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n","compatibility":"### UniDevicePixelContentBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |"},"UniObjectElement":{"name":"## UniObjectElement","description":"UniObject 元素对象","extends":"```mermaid\ngraph LR\n \nUniObjectElement -- Extends --> UniElement\n style UniElement color:#42b983\n click UniElement \"https://doc.dcloud.net.cn/uni-app-x/dom/unielement.html\"\n```","param":"","methods":{"bindAndroidView":{"name":"#### bindAndroidView(view: View): void @bindandroidview","description":"绑定安卓平台原生view","compatibility":"##### bindAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| view | View | 是 | - | - | - | \n","returnValue":"","tutorial":""},"bindIOSView":{"name":"#### bindIOSView(view: UIView): void @bindiosview","description":"绑定IOS平台原生view","compatibility":"##### bindIOSView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | x | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| view | UIView | 是 | - | - | - | \n","returnValue":"","tutorial":""}},"compatibility":"### UniObjectElement 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |"},"UniCanvasElement":{"name":"## UniCanvasElement","description":"canvas元素对象","extends":"```mermaid\ngraph LR\n \nUniCanvasElement -- Extends --> UniElement\n style UniElement color:#42b983\n click UniElement \"https://doc.dcloud.net.cn/uni-app-x/dom/unielement.html\"\n```","param":"\n### UniCanvasElement 的属性值 @unicanvaselement-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | | Canvas宽度 |\n| height | number | 是 | - | | Canvas高度 |\n","methods":{"getContext":{"name":"#### getContext(contentType: string): CanvasRenderingContext2D \\| null @getcontext","description":"返回 Canvas 的绘图上下文","compatibility":"##### getContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| contentType | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [CanvasRenderingContext2D](/dom/canvasrenderingcontext2d.md) \\| null | canvas元素的绘图2D渲染上下文, 它用于绘制形状、文本、图像和其他对象 | 否 |\n \n","tutorial":""},"toBlob":{"name":"#### toBlob(callback: BlobCallback): void @toblob","description":"创造 Blob 对象","compatibility":"##### toBlob 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.26 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | BlobCallback | 是 | - | - | - | \n","returnValue":"","tutorial":""},"toBlob_1":{"name":"#### toBlob(callback: BlobCallback, type: string): void @toblob","description":"","compatibility":"##### toBlob 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | BlobCallback | 是 | - | - | - |\n| type | string | 是 | - | - | - | \n","returnValue":"","tutorial":""},"toBlob_2":{"name":"#### toBlob(callback: BlobCallback, type: string, quality: number): void @toblob","description":"","compatibility":"##### toBlob 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | BlobCallback | 是 | - | - | - |\n| type | string | 是 | - | - | - |\n| quality | number | 是 | - | - | - | \n","returnValue":"","tutorial":""},"toDataUrl":{"name":"#### toDataUrl(): string @todataurl","description":"返回一个包含图片展示的 data URI","compatibility":"##### toDataUrl 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.26 | x | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":""},"toDataUrl_1":{"name":"#### toDataUrl(type: string, encoderOptions?: string): string @todataurl","description":"","compatibility":"##### toDataUrl 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| encoderOptions | string | 否 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":""}},"compatibility":"### UniCanvasElement 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"CanvasRenderingContext2D":{"name":"## CanvasRenderingContext2D","description":"canvas元素的绘图2D渲染上下文, 它用于绘制形状、文本、图像和其他对象","extends":"","param":"\n### CanvasRenderingContext2D 的属性值 @canvasrenderingcontext2d-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| canvas | [UniCanvasElement](/dom/unicanvaselement.md) | 是 | - | | 是对与给定上下文关联的HTMLCanvasElement对象的只读引用 |\n| direction | string | 是 | - | | 描述当前文本方向 |\n| fillStyle | [CanvasGradient](#canvasgradient-values) \\| string | 是 | #000 (黑色) | | 设置填充颜色 |\n| filter | string | 是 | - | | 提供模糊、灰度等过滤效果的属性。它类似于 CSS filter 属性,并且接受相同的函数 |\n| font | string | 是 | 10px | | 设置字体大小 |\n| fontStretch | string | 是 | - | | 指定绘制文本时字体如何被扩展或压缩。该属性对应于 CSS 中的 font-stretch 属性,当使用关键字时(百分比值不支持) |\n| globalAlpha | number | 是 | 1.0 | | 用来描述在 canvas 上绘图之前,设置图形和图片透明度的属性。数值的范围从 0.0(完全透明)到 1.0(完全不透明) |\n| globalCompositeOperation | \"\" \\| \"source-over\" \\| \"source-atop\" \\| \"source-in\" \\| \"source-out\" \\| \"destination-over\" \\| \"destination-atop\" \\| \"destination-in\" \\| \"destination-out\" \\| \"lighter\" \\| \"copy\" \\| \"xor\" | 是 | - | | 在绘制新形状时应用的合成操作的类型,其中 type 是用于标识要使用的合成或混合模式操作的字符串 |\n| imageSmoothingEnabled | boolean | 是 | - | | 属性用于设置是否对缩放后的图片进行平滑处理,true 表示进行平滑处理(默认值),false 表示不进行 |\n| imageSmoothingQuality | string | 是 | - | | 用于设置图像平滑度,要使此属性生效,imageSmoothingEnabled 属性必须为 true |\n| letterSpacing | string \\| number | 是 | - | | 用于指定绘制文本时字母之间的间距。这对应于 CSS 中的 letter-spacing 属性 |\n| lineCap | \"\" \\| \"butt\" \\| \"round\" \\| \"square\" | 是 | butt | | 指定如何绘制每一条线条末端的属性,可选值:`butt`线段末端以方形结束;`round`线段末端以圆形结束;`square`线段末端以方形结束,但是会增加一个一半宽度的矩形区域。 |\n| lineDashOffset | number | 是 | - | | 设置虚线偏移量 |\n| lineJoin | \"\" \\| \"round\" \\| \"bevel\" \\| \"miter\" | 是 | miter | | 设置 2 个长度不为 0 的线条相连部分如何连接在一起的属性,可选值:`bevel`斜角;`round`圆角;`miter`尖角。 |\n| lineWidth | number | 是 | 1px | | 设置线条的宽度 |\n| miterLimit | number | 是 | - | | 设置斜接面限制比例的属性。当获取属性值时,会返回当前的值(默认值是10.0 )。当给属性赋值时,0、负数、 Infinity 和 NaN 都会被忽略;除此之外都会被赋予一个新值。 |\n| shadowBlur | number | 是 | - | | 用于描述模糊效果程度,其中 0 表示没有模糊,数字越大表示模糊程度越高。这个值不对应于像素数量,并且不受当前变换矩阵的影响。默认值为 0。负数、Infinity 和 NaN 将被忽略 |\n| shadowColor | string | 是 | - | | 描述阴影颜色,可以转换成 CSS \\ 值的DOMString 字符串。默认值是 fully-transparent black |\n| shadowOffsetX | number | 是 | - | | 指定阴影在水平方向上的偏移距离。正值向右偏移,负值向左偏移。默认值为 0(无水平偏移)。Infinity 和 NaN 值将被忽略 |\n| shadowOffsetY | number | 是 | - | | 指定阴影在垂直方向上的偏移距离。正值向右偏移,负值向左偏移。默认值为 0(无水平偏移)。Infinity 和 NaN 值将被忽略 |\n| strokeStyle | [CanvasGradient](#canvasgradient-values) \\| string | 是 | #000 (黑色) | | 设置边框的颜色 |\n| textAlign | \"\" \\| \"left\" \\| \"right\" \\| \"center\" \\| \"start\" \\| \"end\" | 是 | left | | 设置文本的对齐方式,可取值:`left`左对齐;`center`居中对齐;`right`右对齐。 |\n| textBaseline | \"\" \\| \"top\" \\| \"hanging\" \\| \"middle\" \\| \"alphabetic\" \\| \"ideographic\" \\| \"bottom\" | 是 | - | | 描述绘制文本时,当前文本基线的属性 |\n| textRendering | number | 是 | - | | 用于在渲染文本时向渲染引擎提供应该如何优化的相关信息 |\n","methods":{"arc":{"name":"#### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc","description":"绘制一段弧线","compatibility":"##### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n","returnValue":"","tutorial":""},"arcTo":{"name":"#### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto","description":"根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径","compatibility":"##### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n","returnValue":"","tutorial":""},"beginPath":{"name":"#### beginPath(): void @beginpath","description":"开始创建一个路径。需要调用 fill 或者 stroke 才会使用路径进行填充或描边","compatibility":"##### beginPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"bezierCurveTo":{"name":"#### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto","description":"绘制三次贝赛尔曲线路径","compatibility":"##### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| cp1y | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| cp2x | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| cp2y | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| x | number | 是 | - | - | 结束点的 x 轴坐标 |\n| y | number | 是 | - | - | 结束点的 y 轴坐标 | \n","returnValue":"","tutorial":""},"clearRect":{"name":"#### clearRect(x: number, y: number, width: number, height: number): void @clearrect","description":"清除画布上在该矩形区域内的内容","compatibility":"##### clearRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形的宽度 |\n| height | number | 是 | - | - | 矩形的高度 | \n","returnValue":"","tutorial":""},"clip":{"name":"#### clip(): void @clip","description":"将当前创建的路径设置为当前剪切路径","compatibility":"##### clip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"clip_1":{"name":"#### clip(path: Path2D): void @clip","description":"将当前创建的路径设置为当前剪切路径","compatibility":"##### clip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"","tutorial":""},"clip_2":{"name":"#### clip(fillRule: String): void @clip","description":"将当前创建的路径设置为当前剪切路径","compatibility":"##### clip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fillRule | [String](#string-values) | 是 | - | - | - | \n\n###### String 的方法 @string-values \n\n###### at(index: number): T \\| undefined; @at\nTakes an integer value and returns the item at that index,\nallowing for positive and negative integers.\nNegative integers count back from the last item in the array.\n###### at 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| index | number | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| T \\| null |\n \n","returnValue":"","tutorial":""},"clip_3":{"name":"#### clip(path: Path2D, fillRule: String): void @clip","description":"将当前创建的路径设置为当前剪切路径","compatibility":"##### clip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | |\n| fillRule | [String](#string-values) | 是 | - | - | - | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n\n###### String 的方法 @string-values \n\n###### at(index: number): T \\| undefined; @at\nTakes an integer value and returns the item at that index,\nallowing for positive and negative integers.\nNegative integers count back from the last item in the array.\n###### at 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| index | number | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| T \\| null |\n \n","returnValue":"","tutorial":""},"closePath":{"name":"#### closePath(): void @closepath","description":"关闭一个路径","compatibility":"##### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"createImageData":{"name":"#### createImageData(width: number, height: number): void @createimagedata","description":"创建一个新的、空白的、指定大小的 ImageData 对象。所有的像素在新对象中都是透明的黑色","compatibility":"##### createImageData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | - | - |\n| height | number | 是 | - | - | - | \n","returnValue":"","tutorial":""},"createPattern":{"name":"#### createPattern(image: Image, repetition: string): CanvasPattern @createpattern","description":"对指定的图像创建模式的方法,可在指定的方向上重复元图像","compatibility":"##### createPattern 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| image | [UniImageElement](#uniimageelement-values) | 是 | - | | 重复的图像源,支持代码包路径和本地临时路径 (本地路径) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n| repetition | string | 是 | - | - | 如何重复图像 | \n\n###### UniImageElement 的方法 @uniimageelement-values \n\n###### () => void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| CanvasPattern | 接口表示一个不透明对象,描述了一个基于图像、画布或视频的模板,该模板通过 CanvasRenderingContext2D.createPattern() 方法创建 |\n \n","tutorial":""},"createLinearGradient":{"name":"#### createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient @createlineargradient","description":"创建一个线性的渐变颜色。返回的CanvasGradient对象需要使用 CanvasGradient.addColorStop() 来指定渐变点,至少要两个","compatibility":"##### createLinearGradient 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x0 | number | 是 | - | - | 起点的 x 坐标 |\n| y0 | number | 是 | - | - | 起点的 y 坐标 |\n| x1 | number | 是 | - | - | 终点的 x 坐标 |\n| y1 | number | 是 | - | - | 终点的 y 坐标 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [CanvasGradient](#canvasgradient-values) | 表示描述渐变的不透明对象。该接口通过 CanvasRenderingContext2D.createLinearGradient()、
CanvasRenderingContext2D.createConicGradient()
或 CanvasRenderingContext2D.createRadialGradient() 方法返回 |\n\n###### CanvasGradient 的方法 @canvasgradient-values \n\n###### addColorStop(stop: number, color: string): void @addcolorstop\n添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染\n###### addColorStop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| stop | number | 是 | - | - | 表示渐变中开始与结束之间的位置,范围 0-1 |\n| color | string | 是 | - | - | 渐变点的颜色 | \n\n \n","tutorial":""},"createRadialGradient":{"name":"#### createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r01: number): CanvasGradient @createradialgradient","description":"根据参数确定两个圆的坐标,绘制放射性渐变","compatibility":"##### createRadialGradient 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x0 | number | 是 | - | - | 开始圆形的 x 轴坐标 |\n| y0 | number | 是 | - | - | 开始圆形的 y 轴坐标 |\n| r0 | number | 是 | - | - | 开始圆形的半径 |\n| x1 | number | 是 | - | - | 结束圆形的 x 轴坐标 |\n| y1 | number | 是 | - | - | 结束圆形的 y 轴坐标 |\n| r01 | number | 是 | - | - | 结束圆形的半径 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [CanvasGradient](#canvasgradient-values) | 表示描述渐变的不透明对象。该接口通过 CanvasRenderingContext2D.createLinearGradient()、
CanvasRenderingContext2D.createConicGradient()
或 CanvasRenderingContext2D.createRadialGradient() 方法返回 |\n\n###### CanvasGradient 的方法 @canvasgradient-values \n\n###### addColorStop(stop: number, color: string): void @addcolorstop\n添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染\n###### addColorStop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| stop | number | 是 | - | - | 表示渐变中开始与结束之间的位置,范围 0-1 |\n| color | string | 是 | - | - | 渐变点的颜色 | \n\n \n","tutorial":""},"draw":{"name":"#### draw(): void @draw","description":"将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中","compatibility":"##### draw 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"drawImage":{"name":"#### drawImage(imageResource: Image, sx: number, sy: number): void @drawimage","description":"绘制图像到画布","compatibility":"##### drawImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageResource | [UniImageElement](#uniimageelement-values) | 是 | - | | 所要绘制的图片资源 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n| sx | number | 是 | - | - | 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 x 坐标 |\n| sy | number | 是 | - | - | 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 y 坐标 | \n\n###### UniImageElement 的方法 @uniimageelement-values \n\n###### () => void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","returnValue":"","tutorial":""},"drawImage_1":{"name":"#### drawImage(imageResource: Image, sx: number, sy: number, sWidth: number, sHeight: number): void @drawimage","description":"","compatibility":"##### drawImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageResource | [UniImageElement](#uniimageelement-values) | 是 | - | | image元素对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n| sx | number | 是 | - | - | - |\n| sy | number | 是 | - | - | - |\n| sWidth | number | 是 | - | - | - |\n| sHeight | number | 是 | - | - | - | \n\n###### UniImageElement 的方法 @uniimageelement-values \n\n###### () => void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","returnValue":"","tutorial":""},"drawImage_2":{"name":"#### drawImage(imageResource: Image, sx: number, sy: number, sWidth: number, sHeight: number, dx: number, dy: number, dWidth: number, dHeight: number): void @drawimage","description":"","compatibility":"##### drawImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageResource | [UniImageElement](#uniimageelement-values) | 是 | - | | image元素对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n| sx | number | 是 | - | - | - |\n| sy | number | 是 | - | - | - |\n| sWidth | number | 是 | - | - | - |\n| sHeight | number | 是 | - | - | - |\n| dx | number | 是 | - | - | - |\n| dy | number | 是 | - | - | - |\n| dWidth | number | 是 | - | - | - |\n| dHeight | number | 是 | - | - | - | \n\n###### UniImageElement 的方法 @uniimageelement-values \n\n###### () => void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","returnValue":"","tutorial":""},"ellipse":{"name":"#### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse","description":"添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束","compatibility":"##### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n","returnValue":"","tutorial":""},"fill":{"name":"#### fill(): void @fill","description":"对当前路径中的内容进行填充","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"fill_1":{"name":"#### fill(fillRule: \"nonzero\" \\| \"evenodd\"): void @fill","description":"对当前路径中的内容进行填充","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fillRule | \"nonzero\" \\| \"evenodd\" | 是 | - | - | 填充当前或已存在的路径的方法。采取非零环绕(nonzero)或者奇偶环绕(evenodd)规则 | \n","returnValue":"","tutorial":""},"fill_2":{"name":"#### fill(path: Path2D, fillRule: \"nonzero\" \\| \"evenodd\"): void @fill","description":"对指定路径中的内容进行填充","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | 填充路径 |\n| fillRule | \"nonzero\" \\| \"evenodd\" | 是 | - | - | 填充当前或已存在的路径的方法。采取非零环绕(nonzero)或者奇偶环绕(evenodd)规则 | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"","tutorial":""},"fillRect":{"name":"#### fillRect(x: number, y: number, width: number, height: number): void @fillrect","description":"填充一个矩形。用 setFillStyle 设置矩形的填充色,如果没设置默认是黑色","compatibility":"##### fillRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形的宽度 |\n| height | number | 是 | - | - | 矩形的高度 | \n","returnValue":"","tutorial":""},"fillText":{"name":"#### fillText(text: string, x: number, y: number, maxWidth: number): void @filltext","description":"在画布上绘制文本","compatibility":"##### fillText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要渲染的文本字符串 |\n| x | number | 是 | - | - | 开始绘制文本的点的 X 轴坐标 |\n| y | number | 是 | - | - | 开始绘制文本的点的 X 轴坐标 |\n| maxWidth | number | 是 | - | - | 需要绘制的最大宽度 | \n","returnValue":"","tutorial":""},"getImageData":{"name":"#### getImageData(sx: number, sy: number, sw: number, sh: number): ImageData @getimagedata","description":"返回一个ImageData对象,用来描述 canvas 区域隐含的像素数据,这个区域通过矩形表示,起始点为*(sx, sy)、宽为sw、高为sh。","compatibility":"##### getImageData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| sx | number | 是 | - | - | 将要被提取的图像数据矩形区域的左上角 x 坐标 |\n| sy | number | 是 | - | - | 将要被提取的图像数据矩形区域的左上角 y 坐标 |\n| sw | number | 是 | - | - | 将要被提取的图像数据矩形区域的宽度 |\n| sh | number | 是 | - | - | 将要被提取的图像数据矩形区域的高度 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| **ImageData** | 描述canvas元素的一个隐含像素数据的区域 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| width | number | 是 | - | - | - |\n@| height | number | 是 | - | - | - | \n","tutorial":""},"isContextLost":{"name":"#### isContextLost(): Boolean @iscontextlost","description":"返回一个Boolean 标记上下文是否已经丢失","compatibility":"##### isContextLost 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| Boolean |\n \n","tutorial":""},"isPointInPath":{"name":"#### isPointInPath(x: number, y: number): boolean @ispointinpath","description":"判断在当前路径中是否包含检测点","compatibility":"##### isPointInPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInPath_1":{"name":"#### isPointInPath(x: number, y: number, fillRule: String): boolean @ispointinpath","description":"判断在当前路径中是否包含检测点","compatibility":"##### isPointInPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 |\n| fillRule | [String](#string-values) | 是 | - | - | 用来决定点在路径内还是在路径外的算法 | \n\n###### String 的方法 @string-values \n\n###### at(index: number): T \\| undefined; @at\nTakes an integer value and returns the item at that index,\nallowing for positive and negative integers.\nNegative integers count back from the last item in the array.\n###### at 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| index | number | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| T \\| null |\n \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInPath_2":{"name":"#### isPointInPath(path: Path2D, x: number, y: number): boolean @ispointinpath","description":"判断在当前路径中是否包含检测点","compatibility":"##### isPointInPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | Path2D应用的路径 |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInPath_3":{"name":"#### isPointInPath(path: Path2D, x: number, y: number, fillRule: String): boolean @ispointinpath","description":"判断在当前路径中是否包含检测点","compatibility":"##### isPointInPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | Path2D应用的路径 |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 |\n| fillRule | [String](#string-values) | 是 | - | - | 用来决定点在路径内还是在路径外的算法 | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n\n###### String 的方法 @string-values \n\n###### at(index: number): T \\| undefined; @at\nTakes an integer value and returns the item at that index,\nallowing for positive and negative integers.\nNegative integers count back from the last item in the array.\n###### at 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| index | number | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| T \\| null |\n \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInStroke":{"name":"#### isPointInStroke(x: number, y: number): boolean @ispointinstroke","description":"检测某点是否在路径的描边线","compatibility":"##### isPointInStroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInStroke_1":{"name":"#### isPointInStroke(path: Path2D, x: number, y: number): boolean @ispointinstroke","description":"检测某点是否在路径的描边线","compatibility":"##### isPointInStroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | Path2D应用的路径 |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"getLineDash":{"name":"#### getLineDash(): Array\\ @getlinedash","description":"在填充线时使用虚线模式, 它使用一组值来指定描述模式的线和间隙的交替长度。","compatibility":"##### getLineDash 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| number[\\] |\n \n","tutorial":""},"lineTo":{"name":"#### lineTo(x: number, y: number): void @lineto","description":"增加一个新点,然后创建一条从上次指定点到目标点的线。用 stroke 方法来画线条","compatibility":"##### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 目标位置的 x 坐标 |\n| y | number | 是 | - | - | 目标位置的 y 坐标 | \n","returnValue":"","tutorial":""},"measureText":{"name":"#### measureText(text: string): TextMetrics @measuretext","description":"测量文本尺寸信息。目前仅返回文本宽度","compatibility":"##### measureText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要渲测量的文本字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| **TextMetrics** | 表示文本的尺寸,通过 CanvasRenderingContext2D.measureText() 方法创建 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| width | number | 是 | - | - | - | \n","tutorial":""},"moveTo":{"name":"#### moveTo(x: number, y: number): void @moveto","description":"把路径移动到画布中的指定点","compatibility":"##### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 目标位置的 x 坐标 |\n| y | number | 是 | - | - | 目标位置的 y 坐标 | \n","returnValue":"","tutorial":""},"putImageData":{"name":"#### putImageData(imageData: ImageData, x: number, y: number): boolean @putimagedata","description":"将数据从已有的 ImageData 对象绘制到位图的方法。如果提供了一个绘制过的矩形,则只绘制该矩形的像素。此方法不受画布转换矩阵的影响","compatibility":"##### putImageData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageData | **ImageData** | 是 | - | | 包含像素值的数组对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| width | number | 是 | - | - | - |\n@| height | number | 是 | - | - | - |\n| x | number | 是 | - | - | 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) |\n| y | number | 是 | - | - | 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"putImageData_1":{"name":"#### putImageData(imageData: ImageData, x: number, y: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): boolean @putimagedata","description":"将数据从已有的 ImageData 对象绘制到位图的方法。如果提供了一个绘制过的矩形,则只绘制该矩形的像素。此方法不受画布转换矩阵的影响","compatibility":"##### putImageData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageData | **ImageData** | 是 | - | | 包含像素值的数组对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| width | number | 是 | - | - | - |\n@| height | number | 是 | - | - | - |\n| x | number | 是 | - | - | 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) |\n| y | number | 是 | - | - | 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) |\n| dirtyX | number | 是 | - | - | 在源图像数据中,矩形区域左上角的位置。默认是整个图像数据的左上角(x 坐标) |\n| dirtyY | number | 是 | - | - | 在源图像数据中,矩形区域左上角的位置。默认是整个图像数据的左上角(y 坐标) |\n| dirtyWidth | number | 是 | - | - | 在源图像数据中,矩形区域的宽度。默认是图像数据的宽度) |\n| dirtyHeight | number | 是 | - | - | 在源图像数据中,矩形区域的高度。默认是图像数据的高度 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"quadraticCurveTo":{"name":"#### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto","description":"创建二次贝塞尔曲线路径","compatibility":"##### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","tutorial":""},"rect":{"name":"#### rect(x: number, y: number, width: number, height: number): void @rect","description":"创建一个矩形路径","compatibility":"##### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n","returnValue":"","tutorial":""},"resetTransform":{"name":"#### resetTransform(): void @resettransform","description":"使用单位矩阵重新设置当前变换","compatibility":"##### resetTransform 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"restore":{"name":"#### restore(): void @restore","description":"恢复之前保存的绘图上下文","compatibility":"##### restore 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"rotate":{"name":"#### rotate(rotate: number): void @rotate","description":"以原点为中心顺时针旋转当前坐标轴","compatibility":"##### rotate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| rotate | number | 是 | - | - | ,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360 | \n","returnValue":"","tutorial":""},"roundRect":{"name":"#### roundRect(x: number, y: number, width: number, height: number, radii: any): boolean @roundrect","description":"在当前路径中添加一个圆角矩形","compatibility":"##### roundRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 包含像素值的数组对象 |\n| y | number | 是 | - | - | 矩形起点的 x 轴坐标,以像素为单位 |\n| width | number | 是 | - | - | 矩形起点的 y 轴坐标,以像素为单位 |\n| height | number | 是 | - | - | 矩形的宽度。正值向右,负值向左 |\n| radii | any | 是 | - | - | 矩形的高度。正值向下,负值向上 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"save":{"name":"#### save(): void @save","description":"保存绘图上下文","compatibility":"##### save 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"scale":{"name":"#### scale(x: number, y: number): void @scale","description":"缩放变换","compatibility":"##### scale 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | |\n| y | number | 是 | - | - | | \n","returnValue":"","tutorial":""},"setLineDash":{"name":"#### setLineDash(segments: Array\\): void @setlinedash","description":"在填充线时使用虚线模式, 它使用一组值来指定描述模式的线和间隙的交替长度。","compatibility":"##### setLineDash 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| segments | number[\\] | 是 | - | - | \\一组描述交替绘制线段和间距(坐标空间单位)长度的数字 | \n","returnValue":"","tutorial":""},"setTransform":{"name":"#### setTransform(scaleX: Number, skewY: Number, skewX: Number, scaleY: Number, translateX: Number, translateY: Number): void @settransform","description":"使用单位矩阵重新设置(覆盖)当前的变换并调用变换","compatibility":"##### setTransform 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| scaleX | Number | 是 | - | - | 水平缩放 |\n| skewY | Number | 是 | - | - | 垂直倾斜 |\n| skewX | Number | 是 | - | - | 水平倾斜 |\n| scaleY | Number | 是 | - | - | 垂直缩放 |\n| translateX | Number | 是 | - | - | 水平移动 |\n| translateY | Number | 是 | - | - | 垂直移动 | \n","returnValue":"","tutorial":""},"stroke":{"name":"#### stroke(): void @stroke","description":"画出当前路径的边框。默认颜色色为黑色","compatibility":"##### stroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"stroke_1":{"name":"#### stroke(path: Path2D): void @stroke","description":"画出指定路径的边框。默认颜色色为黑色","compatibility":"##### stroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"","tutorial":""},"strokeRect":{"name":"#### strokeRect(x: number, y: number, width: number, height: number): void @strokerect","description":"画一个矩形(非填充)","compatibility":"##### strokeRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形的宽度 |\n| height | number | 是 | - | - | 矩形的高度 | \n","returnValue":"","tutorial":""},"strokeText":{"name":"#### strokeText(text: string, x: number, y: number, maxWidth: number): void @stroketext","description":"文本描边","compatibility":"##### strokeText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要渲染的文本字符串 |\n| x | number | 是 | - | - | 开始绘制文本的点的 X 轴坐标 |\n| y | number | 是 | - | - | 开始绘制文本的点的 X 轴坐标 |\n| maxWidth | number | 是 | - | - | 需要绘制的最大宽度 | \n","returnValue":"","tutorial":""},"transform":{"name":"#### transform(scaleX: Number, skewY: number, skewX: number, scaleY: number, translateX: number, translateY: number): void @transform","description":"使用矩阵多次叠加当前变换,矩阵由方法的参数进行描述。可以缩放、旋转、移动和倾斜上下文","compatibility":"##### transform 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| scaleX | Number | 是 | - | - | 水平缩放 |\n| skewY | number | 是 | - | - | 垂直倾斜 |\n| skewX | number | 是 | - | - | 水平倾斜 |\n| scaleY | number | 是 | - | - | 垂直缩放 |\n| translateX | number | 是 | - | - | 水平移动 |\n| translateY | number | 是 | - | - | 垂直移动 | \n","returnValue":"","tutorial":""},"translate":{"name":"#### translate(translateX: number, translateY: number): void @translate","description":"当前网格添加平移变换","compatibility":"##### translate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| translateX | number | 是 | - | - | 水平方向的移动距离 |\n| translateY | number | 是 | - | - | 垂直方向的移动距离 | \n","returnValue":"","tutorial":""}},"compatibility":"### CanvasRenderingContext2D 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"CanvasGradient":{"name":"## CanvasGradient","description":"表示描述渐变的不透明对象。该接口通过 CanvasRenderingContext2D.createLinearGradient()、
CanvasRenderingContext2D.createConicGradient()
或 CanvasRenderingContext2D.createRadialGradient() 方法返回","extends":"","param":"","methods":{"addColorStop":{"name":"#### addColorStop(stop: number, color: string): void @addcolorstop","description":"添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染","compatibility":"##### addColorStop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| stop | number | 是 | - | - | 表示渐变中开始与结束之间的位置,范围 0-1 |\n| color | string | 是 | - | - | 渐变点的颜色 | \n","returnValue":"","tutorial":""}},"compatibility":"### CanvasGradient 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"Path2D":{"name":"## Path2D","description":"","extends":"","param":"","methods":{"closePath":{"name":"#### closePath(): void @closepath","description":"闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。","compatibility":"##### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"moveTo":{"name":"#### moveTo(x: number, y: number): void @moveto","description":"将一个新的路径的起始点移动到 (x,y) 坐标","compatibility":"##### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n","returnValue":"","tutorial":""},"lineTo":{"name":"#### lineTo(x: number, y: number): void @lineto","description":"将路径的最后一个点连接到 (x,y) 坐标","compatibility":"##### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n","returnValue":"","tutorial":""},"bezierCurveTo":{"name":"#### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto","description":"创建三次方贝塞尔曲线路径","compatibility":"##### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","tutorial":""},"quadraticCurveTo":{"name":"#### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto","description":"创建二次贝塞尔曲线路径","compatibility":"##### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","tutorial":""},"arc":{"name":"#### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc","description":"绘制一段弧线","compatibility":"##### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n","returnValue":"","tutorial":""},"arcTo":{"name":"#### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto","description":"根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径","compatibility":"##### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n","returnValue":"","tutorial":""},"ellipse":{"name":"#### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse","description":"添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束","compatibility":"##### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n","returnValue":"","tutorial":""},"rect":{"name":"#### rect(x: number, y: number, width: number, height: number): void @rect","description":"创建一个矩形路径","compatibility":"##### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n","returnValue":"","tutorial":""}},"compatibility":"### Path2D 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniImageElement":{"name":"## UniImageElement","description":"image元素对象","extends":"```mermaid\ngraph LR\n \nUniImageElement -- Extends --> UniElement\n style UniElement color:#42b983\n click UniElement \"https://doc.dcloud.net.cn/uni-app-x/dom/unielement.html\"\n```","param":"\n### UniImageElement 的属性值 @uniimageelement-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| src | string | 是 | - | | 图片url |\n","methods":{"onload":{"name":"#### () => void \\| null @onload","description":"图片加载完成事件","compatibility":"##### onload 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","tutorial":""}},"compatibility":"### UniImageElement 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |"},"CanvasPattern":{"name":"## CanvasPattern","description":"接口表示一个不透明对象,描述了一个基于图像、画布或视频的模板,该模板通过 CanvasRenderingContext2D.createPattern() 方法创建","extends":"","param":"","compatibility":"### CanvasPattern 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"ImageData":{"name":"## ImageData","description":"描述canvas元素的一个隐含像素数据的区域","extends":"","param":"\n### ImageData 的属性值 @imagedata-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | - | - |\n| height | number | 是 | - | - | - |\n","compatibility":"### ImageData 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"TextMetrics":{"name":"## TextMetrics","description":"表示文本的尺寸,通过 CanvasRenderingContext2D.measureText() 方法创建","extends":"","param":"\n### TextMetrics 的属性值 @textmetrics-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | - | - |\n","compatibility":"### TextMetrics 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"UniError":{"name":"## UniError","description":"uni api统一错误信息对象 ","extends":"","param":"\n### 构造函数\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | 统一错误描述信息 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | 统一错误描述信息 |\n| options | any | 是 | - | - | 源错误对象,原始错误对象应该包含在 options.cause 属性中 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errMsg | string | 是 | - | - | 统一错误描述信息 |\n\n### UniError 的属性值 @unierror-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errMsg | string | 是 | - | - | 统一错误描述信息 |\n| data | any \\| null | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) \\| null | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| name | string | 是 | - | - | - |\n| message | string | 是 | - | - | - |\n","compatibility":"### UniError 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"Error":{"name":"## Error","description":"UTS错误信息对象","extends":"","param":"\n### 构造函数\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | - |\n| options | any | 是 | - | - | - |\n\n### Error 的属性值 @error-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| message | string | 是 | - | - | - |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) \\| null | 否 | - | - | - |\n","compatibility":"### Error 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"general-attribute":{"name":"组件公共属性","description":"","attribute":"| 名称 | 类型 | 描述 |\n| :- | :- | :- |\n| id | string(string.IDString) | 组件的唯一标识。需避免同页面中不同组件设置重复id;需避免使用uni-、uni.等前缀 |\n| style | string | 组件的内联样式,可以动态设置的内联样式 |\n| class | string(string.ClassString) | 组件的样式类,在对应的 css 中定义的样式类 |\n| ref | string | vue中组件的唯一标识,用来给子组件注册引用信息,[详见](https://doc.dcloud.net.cn/uni-app-x/vue/built-in.html#ref) |\n| data-* | any | 自定义属性,组件上触发的事件时,会发送给事件处理函数 |\n| android-* | any | App-Android平台专有属性,详见[App-Android平台专有属性](https://doc.dcloud.net.cn/uni-app-x/component/common.html#attribute-android)章节 |","compatibility":"| | Web | Android | iOS |\n| :- | :- | :- | :- |\n| id | 4.0 | 3.9 | 4.11 |\n| style | 4.0 | 3.9 | 4.11 |\n| class | 4.0 | 3.9 | 4.11 |\n| ref | 4.0 | 3.9 | 4.11 |\n| data-* | 4.0 | 3.9 | 4.11 |\n| android-* | x | 3.9 | x |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/component/global-properties/global-properties.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/global-properties/global-properties\n>Template\n```vue\n\n\n\n\n\n\n```\n>Script\n```uts\n\nexport default {\n data() {\n return {\n title: 'global-properties',\n generalId: 'general-id',\n generalClass: 'general-class',\n generalName: 'general-name',\n generalTitle: 'general-title',\n generalData: 'general-data',\n generalStyle: 'background-color: aqua',\n validateGeneralAttrText: '验证基础属性',\n hoverClass: 'hover-class',\n validateViewAttrText: '验证 view 属性',\n changeHeightByRefText: '通过 ref 修改高度',\n }\n },\n methods: {\n validateGeneralAttributes() {\n const generalTarget = this.$refs['general-target'] as UniElement\n const generalId = generalTarget.getAttribute('id')\n if (generalId != this.generalId) {\n this.validateGeneralAttrText = '基础属性 id 验证失败'\n return\n }\n // #ifdef APP\n if (!generalTarget.classList.includes('general-class')) {\n // #endif\n // #ifdef WEB\n if (!Array.from(generalTarget.classList).includes('general-class')) {\n // #endif\n this.validateGeneralAttrText = '基础属性 class 验证失败'\n return\n }\n const generalName = generalTarget.getAttribute('name')\n if (generalName != this.generalName) {\n this.validateGeneralAttrText = '基础属性 name 验证失败'\n return\n }\n const generalTitle = generalTarget.getAttribute('title')\n if (generalTitle != this.generalTitle) {\n this.validateGeneralAttrText = '基础属性 title 验证失败'\n return\n }\n const generalData = generalTarget.getAttribute('data-test')\n if (generalData != this.generalData) {\n this.validateGeneralAttrText = '基础属性 data-test 验证失败'\n return\n }\n this.validateGeneralAttrText = '基础属性验证成功'\n },\n changeHeight(){\n const generalTarget = this.$refs['general-target'] as UniElement\n this.changeHeightByRefText = '已通过 ref 修改高度'\n generalTarget.style.setProperty('height', '200px')\n }\n },\n}\n\n```\n:::"},"general-event":{"name":"组件公共事件","description":"","attribute":"| 名称 | 类型 | 描述 |\n| :- | :- | :- |\n| @click | (event: [UniPointerEvent](/component/common.md#unipointerevent)) => void | 手指触摸后马上离开。与tap相同,(推荐使用tap事件代替),冒泡事件 |\n| @mousedown | (event: [UniMouseEvent](/component/common.md#unimouseevent)) => void | 鼠标在元素上点击后触发 |\n| @mousemove | (event: [UniMouseEvent](/component/common.md#unimouseevent)) => void | 鼠标在元素上移动时触发 |\n| @mouseup | (event: [UniMouseEvent](/component/common.md#unimouseevent)) => void | 鼠标主按钮在元素上松开时触发 |\n| @touchstart | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸动作开始,冒泡事件,event.type 值为 touchstart |\n| @touchmove | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸后移动,冒泡事件,event.type 值为 touchmove |\n| @touchcancel | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸动作被打断,如来电提醒,弹窗,冒泡事件,event.type 值为 touchcancel |\n| @touchend | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸动作结束,冒泡事件,event.type 值为 touchend |\n| @tap | (event: [UniPointerEvent](/component/common.md#unipointerevent)) => void | 手指触摸后马上离开,冒泡事件 |\n| @longpress | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 如果一个组件被绑定了 longpress 事件,那么当用户手指触摸后,超过350ms再离开会触发,冒泡事件 |\n| @longtap | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸后,超过350ms再离开(推荐使用 longpress 事件代替) |\n| @transitionend | (event: [UniEvent](/component/common.md#unievent)) => void | transition 效果结束时触发 |","compatibility":"| | Web | Android | iOS |\n| :- | :- | :- | :- |\n| @click | 4.0 | 3.9 | 4.11 |\n| @mousedown | 4.0 | x | x |\n| @mousemove | 4.0 | x | x |\n| @mouseup | 4.0 | x | x |\n| @touchstart | 4.0 | 3.9 | 4.11 |\n| @touchmove | 4.0 | 3.9 | 4.11 |\n| @touchcancel | 4.0 | 3.9 | 4.11 |\n| @touchend | 4.0 | 3.9 | 4.11 |\n| @tap | 4.0 | 3.9 | 4.11 |\n| @longpress | 4.0 | 3.9 | 4.11 |\n| @longtap | 4.0 | 3.9 | 4.11 |\n| @transitionend | 4.0 | 3.93 | 4.11 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/component/global-properties/global-properties.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/global-properties/global-properties\n>Template\n```vue\n\n\n\n\n\n\n```\n>Script\n```uts\n\nexport default {\n data() {\n return {\n title: 'global-properties',\n generalId: 'general-id',\n generalClass: 'general-class',\n generalName: 'general-name',\n generalTitle: 'general-title',\n generalData: 'general-data',\n generalStyle: 'background-color: aqua',\n validateGeneralAttrText: '验证基础属性',\n hoverClass: 'hover-class',\n validateViewAttrText: '验证 view 属性',\n changeHeightByRefText: '通过 ref 修改高度',\n }\n },\n methods: {\n validateGeneralAttributes() {\n const generalTarget = this.$refs['general-target'] as UniElement\n const generalId = generalTarget.getAttribute('id')\n if (generalId != this.generalId) {\n this.validateGeneralAttrText = '基础属性 id 验证失败'\n return\n }\n // #ifdef APP\n if (!generalTarget.classList.includes('general-class')) {\n // #endif\n // #ifdef WEB\n if (!Array.from(generalTarget.classList).includes('general-class')) {\n // #endif\n this.validateGeneralAttrText = '基础属性 class 验证失败'\n return\n }\n const generalName = generalTarget.getAttribute('name')\n if (generalName != this.generalName) {\n this.validateGeneralAttrText = '基础属性 name 验证失败'\n return\n }\n const generalTitle = generalTarget.getAttribute('title')\n if (generalTitle != this.generalTitle) {\n this.validateGeneralAttrText = '基础属性 title 验证失败'\n return\n }\n const generalData = generalTarget.getAttribute('data-test')\n if (generalData != this.generalData) {\n this.validateGeneralAttrText = '基础属性 data-test 验证失败'\n return\n }\n this.validateGeneralAttrText = '基础属性验证成功'\n },\n changeHeight(){\n const generalTarget = this.$refs['general-target'] as UniElement\n this.changeHeightByRefText = '已通过 ref 修改高度'\n generalTarget.style.setProperty('height', '200px')\n }\n },\n}\n\n```\n:::"}} \ No newline at end of file +{"UniKeyEvent":{"name":"## UniKeyEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniKeyEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### UniKeyEvent 的属性值 @unikeyevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| keyCode | number | 是 | - | - | - |\n| keyType | string | 是 | - | - | - |\n","compatibility":"### UniKeyEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniEvent":{"name":"## UniEvent","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n| eventInit | any | 是 | - | - | 事件初始参数。支持字段:`bubbles`表明该事件是否冒泡。可选,默认为false;`cancelable`表明该事件是否可以被取消。可选,默认为false。 |\n\n### UniEvent 的属性值 @unievent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | - | 触发事件的组件 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | - | 当前组件 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation(): void @stoppropagation","description":"阻止当前事件的进一步传播","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"","returnValue":"","tutorial":""},"preventDefault":{"name":"#### preventDefault(): void @preventdefault","description":"阻止当前事件的默认行为\n","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","param":"","returnValue":"","tutorial":""}},"compatibility":"### UniEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniElement":{"name":"## UniElement","description":"UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。","extends":"","param":"\n### UniElement 的属性值 @unielement-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| classList | Array\\ | 是 | - | | 只读属性 获取当前元素的的 class 属性的动态集合。 |\n| firstChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取当前元素的的第一个子元素,如果元素是无子元素,则返回 null。 |\n| lastChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取当前元素的最后一个子元素,如果没有子元素,则返回 null。 |\n| parentElement | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取当前元素在 DOM 树中的父元素,如果没有父元素(如未添加到DOM树中),则返回null。 |\n| previousSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取当前元素的前一个同级元素,没有则返回null。 |\n| nextElementSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | 只读属性 获取在 DOM 树中紧跟在其后面的同级元素,如果指定的元素为最后一个元素,则返回 null。 |\n| children | Array\\<[UniElement](/dom/unielement.md)\\> | 是 | - | | 只读属性 获取当前元素包含的子元素的集合 |\n| tagName | string | 是 | - | | 只读属性 获取当前元素的标签名 |\n| nodeName | string | 是 | - | | 只读属性 获取当前元素的元素名称 |\n| dataset | Map\\ | 是 | - | | 只读属性 获取元素上自定义数据属性(data-*)的集合 |\n| attributes | Map\\ | 是 | - | | 只读属性 获取元素上所有属性元素的集合 |\n| style | [CSSStyleDeclaration](/dom/cssstyledeclaration.md) | 是 | - | | 只读属性 获取元素的CSS样式对象 |\n| scrollWidth | number | 是 | - | | 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |\n| scrollHeight | number | 是 | - | | 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |\n| scrollLeft | number | 是 | - | | 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| scrollTop | number | 是 | - | | 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| offsetLeft | number | 是 | - | | 只读属性 元素的左边界偏移值 单位px |\n| offsetTop | number | 是 | - | | 只读属性 元素的顶部边界偏移值 单位px |\n| offsetWidth | number | 是 | - | | 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |\n| offsetHeight | number | 是 | - | | 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |\n| ext | Map\\ | 是 | - | | 只读属性 扩展属性 |\n","methods":{"takeSnapshot":{"name":"#### takeSnapshot(options: TakeSnapshotOptions): void @takesnapshot","description":"对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。\n成功会返回图片对应的临时文件路径,目前默认png格式\n","compatibility":"##### takeSnapshot 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | 3.93 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | [TakeSnapshotOptions](#takesnapshotoptions-values) | 是 | - | - | 组件截图的参数对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n@| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n@| success | (res: [TakeSnapshotSuccess](#takesnapshotsuccess-values)) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (res: [TakeSnapshotFail](#takesnapshotfail-values)) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n\n###### TakeSnapshotFail 的属性值 @takesnapshotfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":""},"appendChild":{"name":"#### appendChild(aChild: UniElement): void @appendchild","description":"将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。","compatibility":"##### appendChild 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 | \n","returnValue":"","tutorial":""},"insertBefore":{"name":"#### insertBefore(newChild: UniElement, refChild?: UniElement \\| null): UniElement \\| null @insertbefore","description":"在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。","compatibility":"##### insertBefore 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 |\n| refChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | 否 |\n \n","tutorial":""},"insertBefore_1":{"name":"#### insertBefore(newChild: UniElement): UniElement \\| null @insertbefore","description":"将一个元素添加到指定父元素的子元素列表的末尾处 功能等同于appendChild","compatibility":"##### insertBefore 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | 否 |\n \n","tutorial":""},"setAttribute":{"name":"#### setAttribute(key: string, value: string): void @setattribute","description":"设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。","compatibility":"##### setAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 |\n| value | string | 是 | - | - | 属性值域 | \n","returnValue":"","tutorial":""},"getAttribute":{"name":"#### getAttribute(key: string): string \\| null @getattribute","description":"获取元素指定的属性值,如果指定的属性不存在则返回null。","compatibility":"##### getAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string \\| null | 否 |\n \n","tutorial":""},"hasAttribute":{"name":"#### hasAttribute(key: string): boolean @hasattribute","description":"返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。","compatibility":"##### hasAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"removeAttribute":{"name":"#### removeAttribute(key: string): void @removeattribute","description":"从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。","compatibility":"##### removeAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"","tutorial":""},"getBoundingClientRect":{"name":"#### getBoundingClientRect(): DOMRect @getboundingclientrect","description":"获取元素的大小及其相对于窗口的位置信息。","compatibility":"##### getBoundingClientRect 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [DOMRect](/dom/domrect.md) | 一个 DOMRect 代表一个矩形。 |\n \n","tutorial":""},"getDrawableContext":{"name":"#### getDrawableContext(): DrawableContext \\| null @getdrawablecontext","description":"获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。","compatibility":"##### getDrawableContext 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | 3.9 | 4.11 | 4.25 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [DrawableContext](/dom/drawablecontext.md) \\| null | 否 |\n \n","tutorial":""},"removeChild":{"name":"#### removeChild(aChild: UniElement): UniElement \\| null @removechild","description":"从元素中删除一个子元素,返回删除的元素。","compatibility":"##### removeChild 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 被删除子元素对象 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | 否 |\n \n","tutorial":""},"remove":{"name":"#### remove(): void @remove","description":"把元素对象从它所属的 DOM 树中删除。","compatibility":"##### remove 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"scrollTo":{"name":"#### scrollTo(x: number, y: number): void @scrollto","description":"使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持","compatibility":"##### scrollTo 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |\n| y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) | \n","returnValue":"","tutorial":""},"scrollBy":{"name":"#### scrollBy(x: number, y: number): void @scrollby","description":"使得元素滚动一段特定距离 仅scroll-view、list-view组件支持","compatibility":"##### scrollBy 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动的距离(单位px) |\n| y | number | 是 | - | - | y轴要滚动的距离(单位px) | \n","returnValue":"","tutorial":""},"querySelector":{"name":"#### querySelector(selector: string.cssSelectorString): UniElement \\| null @queryselector","description":"返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null","compatibility":"##### querySelector 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | 否 |\n \n","tutorial":""},"querySelectorAll":{"name":"#### querySelectorAll(selector: string.cssSelectorString): UniElement[] \\| null @queryselectorall","description":"返回与指定的选择器组匹配的文档中的元素列表","compatibility":"##### querySelectorAll 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\<[UniElement](/dom/unielement.md)\\> \\| null | 否 |\n \n","tutorial":""},"focus":{"name":"#### focus(): void @focus","description":"使元素获取焦点 仅input、Textarea组件支持","compatibility":"##### focus 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"blur":{"name":"#### blur(): void @blur","description":"使元素丢失焦点 仅input、Textarea组件支持","compatibility":"##### blur 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"getIOSView":{"name":"#### getIOSView(): UIView \\| null @getiosview","description":"获取元素ios原生view","compatibility":"##### getIOSView 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | x | x | x | 4.25 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView \\| null | 否 |\n \n","tutorial":""},"getAndroidView":{"name":"#### getAndroidView(): View \\| null @getandroidview","description":"获取元素android原生view 可能返回null","compatibility":"##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View \\| null | 否 |\n \n","tutorial":""},"getAndroidView_1":{"name":"#### getAndroidView\\(): T \\| null @getandroidview","description":"获取元素android原生view 通过泛型定义view类型 可能返回null","compatibility":"##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| T \\| null | 否 |\n \n","tutorial":""},"getAndroidActivity":{"name":"#### getAndroidActivity(): Activity \\| null @getandroidactivity","description":"获取元素android原生activity 可能返回null","compatibility":"##### getAndroidActivity 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Activity \\| null | 否 |\n \n","tutorial":""}},"compatibility":"### UniElement 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |"},"CSSStyleDeclaration":{"name":"## CSSStyleDeclaration","description":"CSSStyleDeclaration表示一个CSS 声明块对象,它是一个 CSS 属性键值对的集合,暴露样式信息和各种与样式相关的方法和属性。","extends":"","param":"","methods":{"setProperty":{"name":"#### setProperty(name: string \\| string.cssPropertyString, value: any \\| null): void @setproperty","description":"对CSS指定样式设置一个新值,如有此样式已存在则更新。","compatibility":"##### setProperty 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | CSS样式名称 |\n| value | any \\| null | 否 | - | - | 要设置的新CSS样式值 | \n","returnValue":"","tutorial":""},"getPropertyValue":{"name":"#### getPropertyValue(property: string \\| string.cssPropertyString): any \\| null @getpropertyvalue","description":"获取CSS指定的样式值,如果指定的样式不存在则返回null。","compatibility":"##### getPropertyValue 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| property | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | 要获取的CSS样式名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","tutorial":""},"removeProperty":{"name":"#### removeProperty(property: string \\| string.cssPropertyString): any \\| null @removeproperty","description":"删除CSS指定的样式值","compatibility":"##### removeProperty 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| property | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | 要删除的CSS样式名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","tutorial":""}},"compatibility":"### CSSStyleDeclaration 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |"},"TakeSnapshotOptions":{"name":"## TakeSnapshotOptions","description":"组件截图的参数配置选项","extends":"","param":"\n### TakeSnapshotOptions 的属性值 @takesnapshotoptions-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n| success | (res: **TakeSnapshotSuccess**) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n| fail | (res: **TakeSnapshotFail**) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - |\n| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n","compatibility":"### TakeSnapshotOptions 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotSuccessCallback":{"name":"## TakeSnapshotSuccessCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotSuccessCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotSuccess":{"name":"## TakeSnapshotSuccess","description":"","extends":"","param":"\n### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n","compatibility":"### TakeSnapshotSuccess 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotFailCallback":{"name":"## TakeSnapshotFailCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotFailCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotFail":{"name":"## TakeSnapshotFail","description":"","extends":"","param":"\n### TakeSnapshotFail 的属性值 @takesnapshotfail-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","compatibility":"### TakeSnapshotFail 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotCompleteCallback":{"name":"## TakeSnapshotCompleteCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotCompleteCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"DOMRect":{"name":"## DOMRect","description":"一个 DOMRect 代表一个矩形。","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 否 | 0 | - | 矩形原点的x坐标 |\n| y | number | 否 | 0 | - | 矩形原点的y坐标 |\n| width | number | 否 | 0 | - | 矩形的宽 |\n| height | number | 否 | 0 | - | 矩形的高 |\n\n### DOMRect 的属性值 @domrect-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | | 矩形的宽 |\n| height | number | 是 | - | | 矩形的高 |\n| x | number | 是 | - | | 矩形原点的x坐标 |\n| y | number | 是 | - | | 矩形原点的y坐标 |\n| left | number | 是 | - | | 矩形的左坐标值 |\n| right | number | 是 | - | | 矩形的右坐标值 |\n| top | number | 是 | - | | 矩形的顶坐标值 |\n| bottom | number | 是 | - | | 矩形的底坐标值 |\n","compatibility":"### DOMRect 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |"},"DrawableContext":{"name":"## DrawableContext","description":"","extends":"","param":"\n### DrawableContext 的属性值 @drawablecontext-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| font | string | 是 | 10px | | 设置字体大小 |\n| fillStyle | [string.ColorString](/uts/data-type.md#ide-string) | 是 | #000 (黑色) | | 设置填充颜色 |\n| lineCap | string | 是 | butt | | 指定如何绘制每一条线条末端的属性,可选值:`butt`线段末端以方形结束;`round`线段末端以圆形结束;`square`线段末端以方形结束,但是会增加一个一半宽度的矩形区域。 |\n| lineDashOffset | number | 是 | - | | 设置虚线偏移量 |\n| lineJoin | string | 是 | miter | | 设置 2 个长度不为 0 的线条相连部分如何连接在一起的属性,可选值:`bevel`斜角;`round`圆角;`miter`尖角。 |\n| lineWidth | number | 是 | 1px | | 设置线条的宽度 |\n| strokeStyle | [string.ColorString](/uts/data-type.md#ide-string) | 是 | #000 (黑色) | | 设置边框的颜色 |\n| textAlign | string | 是 | left | | 设置文本的对齐方式,可取值:`left`左对齐;`center`居中对齐;`right`右对齐。 |\n","methods":{"beginPath":{"name":"#### beginPath(): void @beginpath","description":"创建一个新的空路径","compatibility":"##### beginPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"arc":{"name":"#### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean \\| null): void @arc","description":"绘制一段弧线","compatibility":"##### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆心的X轴坐标 |\n| y | number | 是 | - | - | 圆心的Y轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean \\| null | 否 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n","returnValue":"","tutorial":""},"moveTo":{"name":"#### moveTo(x: number, y: number): void @moveto","description":"将一个新的路径的起始点移动到 (x,y) 坐标","compatibility":"##### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n","returnValue":"","tutorial":""},"rect":{"name":"#### rect(x: number, y: number, width: number, height: number): void @rect","description":"创建一个矩形路径","compatibility":"##### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","tutorial":""},"lineTo":{"name":"#### lineTo(x: number, y: number): void @lineto","description":"将路径的最后一个点连接到 (x,y) 坐标","compatibility":"##### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n","returnValue":"","tutorial":""},"closePath":{"name":"#### closePath(): void @closepath","description":"闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。","compatibility":"##### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"stroke":{"name":"#### stroke(): void @stroke","description":"绘制当前或已经存在的路径的边框。","compatibility":"##### stroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"strokeRect":{"name":"#### strokeRect(x: number, y: number, width: number, height: number): void @strokerect","description":"绘制一个矩形框","compatibility":"##### strokeRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","tutorial":""},"strokeText":{"name":"#### strokeText(text: string, x: number, y: number): void @stroketext","description":"绘制空心字符","compatibility":"##### strokeText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要绘制的字符 |\n| x | number | 是 | - | - | 字符开始绘制的X轴坐标 |\n| y | number | 是 | - | - | 字符开始绘制的Y轴坐标 | \n","returnValue":"","tutorial":""},"fill":{"name":"#### fill(fillRule?: string \\| null): void @fill","description":"填充当前或已存在的路径","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fillRule | string \\| null | 否 | nonzero | - | 填充规则。可取值:`nonzero`非零环绕规则;`evenodd`奇偶环绕规则。 | \n","returnValue":"","tutorial":""},"fillRect":{"name":"#### fillRect(x: number, y: number, width: number, height: number): void @fillrect","description":"绘制一个实心矩形","compatibility":"##### fillRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","tutorial":""},"fillText":{"name":"#### fillText(text: string, x: number, y: number): void @filltext","description":"绘制实心字符","compatibility":"##### fillText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要绘制的字符 |\n| x | number | 是 | - | - | 字符开始绘制的X轴坐标 |\n| y | number | 是 | - | - | 字符开始绘制的Y轴坐标 | \n","returnValue":"","tutorial":""},"reset":{"name":"#### reset(): void @reset","description":"清空绘制数据","compatibility":"##### reset 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"update":{"name":"#### update(): void @update","description":"将所有绘制内容更新到画布上","compatibility":"##### update 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"","tutorial":""},"setLineDash":{"name":"#### setLineDash(segments: Array\\): void @setlinedash","description":"设置虚线样式","compatibility":"##### setLineDash 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| segments | number[\\] | 是 | - | - | 一组描述交替绘制线段和间距长度的数字。 | \n","returnValue":"","tutorial":""},"bezierCurveTo":{"name":"#### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto","description":"创建三次方贝塞尔曲线路径","compatibility":"##### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","tutorial":""}},"compatibility":"### DrawableContext 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/API/element-draw/element-draw.uvue) \n >\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n```uvue\n\n\n\n\n\n\n```"},"UniCallbackWrapper":{"name":"## UniCallbackWrapper","description":"事件回调封装类,用于注销监听函数的形参","extends":"","param":"","compatibility":"### UniCallbackWrapper 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniMouseEvent":{"name":"## UniMouseEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniPointerEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### UniMouseEvent 的属性值 @unimouseevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n","compatibility":"### UniMouseEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniCustomEvent":{"name":"## UniCustomEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniCustomEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| detail | T | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| options | any | 是 | - | - | - |\n\n### UniCustomEvent 的属性值 @unicustomevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | T | 是 | - | - | - |\n","compatibility":"### UniCustomEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniTouchEvent":{"name":"## UniTouchEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniTouchEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### UniTouchEvent 的属性值 @unitouchevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| touches | Array\\<**UniTouch**\\> | 是 | - | - | 当前停留在屏幕中的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| changedTouches | Array\\<**UniTouch**\\> | 是 | - | - | 当前变化的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n","compatibility":"### UniTouchEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniTouch":{"name":"## UniTouch","description":"","extends":"","param":"\n### UniTouch 的属性值 @unitouch-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n","compatibility":"### UniTouch 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniPointerEvent":{"name":"## UniPointerEvent","description":"","extends":"```mermaid\ngraph LR\n \nUniPointerEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```","param":"\n### UniPointerEvent 的属性值 @unipointerevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n","compatibility":"### UniPointerEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniObjectCustomEvent":{"name":"## UniObjectCustomEvent","description":"UniObject自定义事件","extends":"```mermaid\ngraph LR\n \nUniObjectCustomEvent -- Extends --> UniCustomEvent\n style UniCustomEvent color:#42b983\n click UniCustomEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| detail | any | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n\n### UniObjectCustomEvent 的属性值 @uniobjectcustomevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| detail | UTSJSONObject | 是 | - | - | - |\n","compatibility":"### UniObjectCustomEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |"},"UniResizeObserver":{"name":"## UniResizeObserver","description":"用于监视 UniElement 元素的大小变化。它可以观察一个或多个","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: Array\\<**UniResizeObserverEntry**\\>) => void | 是 | - | - | 每当监视的元素调整大小时,回调该函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n@| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n@| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n@| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | - | 只读属性 包含被监视元素大小的DOMRect |\n@| target | [UniElement](/dom/unielement.md) | 是 | - | - | 只读属性 被监视的 UniElement |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: Array\\<**UniResizeObserverEntry**\\>, observer: [UniResizeObserver](/dom/uniresizeobserver.md)) => void | 是 | - | - | 每当监视的元素调整大小时,回调该函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n@| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n@| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n@| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | - | 只读属性 包含被监视元素大小的DOMRect |\n@| target | [UniElement](/dom/unielement.md) | 是 | - | - | 只读属性 被监视的 UniElement |\n","methods":{"disconnect":{"name":"#### disconnect(): void @disconnect","description":"取消所有的对 UniElement 目标的监视","compatibility":"##### disconnect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"","returnValue":"","tutorial":""},"observe":{"name":"#### observe(target: UniElement): void @observe","description":"监视指定 UniElement 大小变化","compatibility":"##### observe 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 被监视的 UniElement | \n","returnValue":"","tutorial":""},"unobserve":{"name":"#### unobserve(target: UniElement): void @unobserve","description":"结束对指定的 UniElement 的监视","compatibility":"##### unobserve 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 取消监视的 UniElement | \n","returnValue":"","tutorial":""}},"compatibility":"### UniResizeObserver 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/API/resize-observer/resize-observer.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/resize-observer/resize-observer\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n outBoxSizeInfo: \"\",\r\n innerBoxSizeInfo: \"\",\r\n offset: 2,\r\n boxDisplay: false,\r\n outBoxElement: null as UniElement | null,\r\n innerBoxElement: null as UniElement | null,\r\n resizeObserver: null as UniResizeObserver | null,\r\n outBoxElementOnResize: false\r\n }\r\n },\r\n onBackPress() : boolean {\r\n if (this.resizeObserver != null) {\r\n this.resizeObserver!.disconnect()\r\n }\r\n return false\r\n },\r\n onReady() {\r\n if (this.resizeObserver == null) {\r\n this.resizeObserver = new UniResizeObserver((entries : Array) => {\r\n\r\n entries.forEach(entry => {\r\n if (entry.target == this.outBoxElement) {\r\n this.outBoxSizeInfo = this.analysisResizeObserverEntry(entry)\r\n this.outBoxElementOnResize = true\r\n } else if (entry.target == this.innerBoxElement) {\r\n this.innerBoxSizeInfo = this.analysisResizeObserverEntry(entry)\r\n }\r\n })\r\n })\r\n this.outBoxElement = uni.getElementById(\"outBox\")\r\n if (this.outBoxElement != null) {\r\n this.resizeObserver!.observe(this.outBoxElement!)\r\n }\r\n this.innerBoxElement = uni.getElementById(\"innerBox\")\r\n if (this.innerBoxElement != null) {\r\n this.resizeObserver!.observe(this.innerBoxElement!)\r\n }\r\n this.boxDisplay = true\r\n }\r\n },\r\n methods: {\r\n innerBoxClick() {\r\n if (this.innerBoxElement != null) {\r\n this.innerBoxElement!.style.setProperty(\"width\", this.innerBoxElement!.offsetWidth + this.offset + 'px')\r\n this.innerBoxElement!.style.setProperty(\"height\", this.innerBoxElement!.offsetWidth + this.offset + 'px')\r\n }\r\n },\r\n outBoxClick() {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElement!.style.setProperty(\"width\", this.outBoxElement!.offsetWidth + this.offset + 'px')\r\n this.outBoxElement!.style.setProperty(\"height\", this.outBoxElement!.offsetWidth + this.offset + 'px')\r\n }\r\n },\r\n revertBoxSize() {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElement!.style.setProperty(\"width\", \"140px\")\r\n this.outBoxElement!.style.setProperty(\"height\", \"140px\")\r\n }\r\n if (this.innerBoxElement != null) {\r\n this.innerBoxElement!.style.setProperty(\"width\", \"80px\")\r\n this.innerBoxElement!.style.setProperty(\"height\", \"80px\")\r\n }\r\n },\r\n //自动化测试专用\r\n setOutBoxMarginLeft(value : string) {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElementOnResize = false\r\n this.outBoxElement!.style.setProperty(\"margin-left\", value)\r\n }\r\n },\r\n toggleDisplay() {\r\n this.boxDisplay = !this.boxDisplay\r\n },\r\n analysisResizeObserverEntry(entry : UniResizeObserverEntry) : string {\r\n const contentBoxSize = entry.contentBoxSize[0]\r\n const borderBoxSize = entry.borderBoxSize[0]\r\n const devicePixelContentBoxSize = entry.devicePixelContentBoxSize[0]\r\n return \"borderBoxSize: \\n{blockSize:\" + borderBoxSize.blockSize + \", inlineSize:\" + borderBoxSize.inlineSize + \"}\\n\" +\r\n \"contentBoxSize: \\n{blockSize:\" + contentBoxSize.blockSize + \", inlineSize:\" + contentBoxSize.inlineSize + \"}\\n\" +\r\n \"devicePixelContentBoxSize: \\n{blockSize:\" + devicePixelContentBoxSize.blockSize + \", inlineSize:\" + devicePixelContentBoxSize.inlineSize + \"}\\n\" +\r\n \"contentRect: \\n{x:\" + entry.contentRect.x + \", y:\" + entry.contentRect.y + \", width:\" + entry.contentRect.width + \", height:\" + entry.contentRect.height + \"}\"\r\n },\n cancelListen(){\n // this.resizeObserver?.unobserve()\n this.resizeObserver!.unobserve(this.outBoxElement!)\n this.resizeObserver!.unobserve(this.innerBoxElement!)\n },\n goOnListen(){\n this.resizeObserver!.observe(this.outBoxElement!)\n this.resizeObserver!.observe(this.innerBoxElement!)\n }\r\n }\r\n }\r\n\n```\n:::"},"UniResizeObserverEntry":{"name":"## UniResizeObserverEntry","description":"UniResizeObserverEntry 接口是传递给 UniResizeObserver() 构造函数中的回调函数参数的对象","extends":"","param":"\n### UniResizeObserverEntry 的属性值 @uniresizeobserverentry-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | - | 只读属性 包含被监视元素大小的DOMRect |\n| target | [UniElement](/dom/unielement.md) | 是 | - | - | 只读属性 被监视的 UniElement |\n","compatibility":"### UniResizeObserverEntry 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |"},"UniBorderBoxSize":{"name":"## UniBorderBoxSize","description":"被监视的元素带有边框box的大小","extends":"","param":"\n### UniBorderBoxSize 的属性值 @uniborderboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n","compatibility":"### UniBorderBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |"},"UniContentBoxSize":{"name":"## UniContentBoxSize","description":"被监视的元素内容box的大小","extends":"","param":"\n### UniContentBoxSize 的属性值 @unicontentboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n","compatibility":"### UniContentBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |"},"UniDevicePixelContentBoxSize":{"name":"## UniDevicePixelContentBoxSize","description":"被监视的元素内容box的设备像素大小","extends":"","param":"\n### UniDevicePixelContentBoxSize 的属性值 @unidevicepixelcontentboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n","compatibility":"### UniDevicePixelContentBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.16 | 4.13 | 4.18 |"},"UniObjectElement":{"name":"## UniObjectElement","description":"UniObject 元素对象","extends":"```mermaid\ngraph LR\n \nUniObjectElement -- Extends --> UniElement\n style UniElement color:#42b983\n click UniElement \"https://doc.dcloud.net.cn/uni-app-x/dom/unielement.html\"\n```","param":"","methods":{"bindAndroidView":{"name":"#### bindAndroidView(view: View): void @bindandroidview","description":"绑定安卓平台原生view","compatibility":"##### bindAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| view | View | 是 | - | - | - | \n","returnValue":"","tutorial":""},"bindIOSView":{"name":"#### bindIOSView(view: UIView): void @bindiosview","description":"绑定IOS平台原生view","compatibility":"##### bindIOSView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | x | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| view | UIView | 是 | - | - | - | \n","returnValue":"","tutorial":""}},"compatibility":"### UniObjectElement 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.25 | 4.25 |"},"UniCanvasElement":{"name":"## UniCanvasElement","description":"canvas元素对象","extends":"```mermaid\ngraph LR\n \nUniCanvasElement -- Extends --> UniElement\n style UniElement color:#42b983\n click UniElement \"https://doc.dcloud.net.cn/uni-app-x/dom/unielement.html\"\n```","param":"\n### UniCanvasElement 的属性值 @unicanvaselement-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | | Canvas宽度 |\n| height | number | 是 | - | | Canvas高度 |\n","methods":{"getContext":{"name":"#### getContext(contentType: string): CanvasRenderingContext2D \\| null @getcontext","description":"返回 Canvas 的绘图上下文","compatibility":"##### getContext 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.21 | 4.25 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| contentType | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [CanvasRenderingContext2D](/dom/canvasrenderingcontext2d.md) \\| null | canvas元素的绘图2D渲染上下文, 它用于绘制形状、文本、图像和其他对象 | 否 |\n \n","tutorial":""},"toBlob":{"name":"#### toBlob(callback: BlobCallback): void @toblob","description":"创造 Blob 对象","compatibility":"##### toBlob 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.26 | x | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | BlobCallback | 是 | - | - | - | \n","returnValue":"","tutorial":""},"toBlob_1":{"name":"#### toBlob(callback: BlobCallback, type: string): void @toblob","description":"","compatibility":"##### toBlob 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | BlobCallback | 是 | - | - | - |\n| type | string | 是 | - | - | - | \n","returnValue":"","tutorial":""},"toBlob_2":{"name":"#### toBlob(callback: BlobCallback, type: string, quality: number): void @toblob","description":"","compatibility":"##### toBlob 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | BlobCallback | 是 | - | - | - |\n| type | string | 是 | - | - | - |\n| quality | number | 是 | - | - | - | \n","returnValue":"","tutorial":""},"toDataUrl":{"name":"#### toDataUrl(): string @todataurl","description":"返回一个包含图片展示的 data URI","compatibility":"##### toDataUrl 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.26 | x | x | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":""},"toDataUrl_1":{"name":"#### toDataUrl(type: string, encoderOptions?: string): string @todataurl","description":"","compatibility":"##### toDataUrl 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| encoderOptions | string | 否 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":""}},"compatibility":"### UniCanvasElement 兼容性 \n | Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.21 | 4.25 | 4.25 | 4.25 |"},"CanvasRenderingContext2D":{"name":"## CanvasRenderingContext2D","description":"canvas元素的绘图2D渲染上下文, 它用于绘制形状、文本、图像和其他对象","extends":"","param":"\n### CanvasRenderingContext2D 的属性值 @canvasrenderingcontext2d-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| canvas | [UniCanvasElement](/dom/unicanvaselement.md) | 是 | - | | 是对与给定上下文关联的HTMLCanvasElement对象的只读引用 |\n| direction | string | 是 | - | | 描述当前文本方向 |\n| fillStyle | [CanvasGradient](#canvasgradient-values) \\| string | 是 | #000 (黑色) | | 设置填充颜色 |\n| filter | string | 是 | - | | 提供模糊、灰度等过滤效果的属性。它类似于 CSS filter 属性,并且接受相同的函数 |\n| font | string | 是 | 10px | | 设置字体大小 |\n| fontStretch | string | 是 | - | | 指定绘制文本时字体如何被扩展或压缩。该属性对应于 CSS 中的 font-stretch 属性,当使用关键字时(百分比值不支持) |\n| globalAlpha | number | 是 | 1.0 | | 用来描述在 canvas 上绘图之前,设置图形和图片透明度的属性。数值的范围从 0.0(完全透明)到 1.0(完全不透明) |\n| globalCompositeOperation | \"\" \\| \"source-over\" \\| \"source-atop\" \\| \"source-in\" \\| \"source-out\" \\| \"destination-over\" \\| \"destination-atop\" \\| \"destination-in\" \\| \"destination-out\" \\| \"lighter\" \\| \"copy\" \\| \"xor\" | 是 | - | | 在绘制新形状时应用的合成操作的类型,其中 type 是用于标识要使用的合成或混合模式操作的字符串 |\n| imageSmoothingEnabled | boolean | 是 | - | | 属性用于设置是否对缩放后的图片进行平滑处理,true 表示进行平滑处理(默认值),false 表示不进行 |\n| imageSmoothingQuality | string | 是 | - | | 用于设置图像平滑度,要使此属性生效,imageSmoothingEnabled 属性必须为 true |\n| letterSpacing | string \\| number | 是 | - | | 用于指定绘制文本时字母之间的间距。这对应于 CSS 中的 letter-spacing 属性 |\n| lineCap | \"\" \\| \"butt\" \\| \"round\" \\| \"square\" | 是 | butt | | 指定如何绘制每一条线条末端的属性,可选值:`butt`线段末端以方形结束;`round`线段末端以圆形结束;`square`线段末端以方形结束,但是会增加一个一半宽度的矩形区域。 |\n| lineDashOffset | number | 是 | - | | 设置虚线偏移量 |\n| lineJoin | \"\" \\| \"round\" \\| \"bevel\" \\| \"miter\" | 是 | miter | | 设置 2 个长度不为 0 的线条相连部分如何连接在一起的属性,可选值:`bevel`斜角;`round`圆角;`miter`尖角。 |\n| lineWidth | number | 是 | 1px | | 设置线条的宽度 |\n| miterLimit | number | 是 | - | | 设置斜接面限制比例的属性。当获取属性值时,会返回当前的值(默认值是10.0 )。当给属性赋值时,0、负数、 Infinity 和 NaN 都会被忽略;除此之外都会被赋予一个新值。 |\n| shadowBlur | number | 是 | - | | 用于描述模糊效果程度,其中 0 表示没有模糊,数字越大表示模糊程度越高。这个值不对应于像素数量,并且不受当前变换矩阵的影响。默认值为 0。负数、Infinity 和 NaN 将被忽略 |\n| shadowColor | string | 是 | - | | 描述阴影颜色,可以转换成 CSS \\ 值的DOMString 字符串。默认值是 fully-transparent black |\n| shadowOffsetX | number | 是 | - | | 指定阴影在水平方向上的偏移距离。正值向右偏移,负值向左偏移。默认值为 0(无水平偏移)。Infinity 和 NaN 值将被忽略 |\n| shadowOffsetY | number | 是 | - | | 指定阴影在垂直方向上的偏移距离。正值向右偏移,负值向左偏移。默认值为 0(无水平偏移)。Infinity 和 NaN 值将被忽略 |\n| strokeStyle | [CanvasGradient](#canvasgradient-values) \\| string | 是 | #000 (黑色) | | 设置边框的颜色 |\n| textAlign | \"\" \\| \"left\" \\| \"right\" \\| \"center\" \\| \"start\" \\| \"end\" | 是 | left | | 设置文本的对齐方式,可取值:`left`左对齐;`center`居中对齐;`right`右对齐。 |\n| textBaseline | \"\" \\| \"top\" \\| \"hanging\" \\| \"middle\" \\| \"alphabetic\" \\| \"ideographic\" \\| \"bottom\" | 是 | - | | 描述绘制文本时,当前文本基线的属性 |\n| textRendering | number | 是 | - | | 用于在渲染文本时向渲染引擎提供应该如何优化的相关信息 |\n","methods":{"arc":{"name":"#### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc","description":"绘制一段弧线","compatibility":"##### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n","returnValue":"","tutorial":""},"arcTo":{"name":"#### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto","description":"根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径","compatibility":"##### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n","returnValue":"","tutorial":""},"beginPath":{"name":"#### beginPath(): void @beginpath","description":"开始创建一个路径。需要调用 fill 或者 stroke 才会使用路径进行填充或描边","compatibility":"##### beginPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"bezierCurveTo":{"name":"#### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto","description":"绘制三次贝赛尔曲线路径","compatibility":"##### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| cp1y | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| cp2x | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| cp2y | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| x | number | 是 | - | - | 结束点的 x 轴坐标 |\n| y | number | 是 | - | - | 结束点的 y 轴坐标 | \n","returnValue":"","tutorial":""},"clearRect":{"name":"#### clearRect(x: number, y: number, width: number, height: number): void @clearrect","description":"清除画布上在该矩形区域内的内容","compatibility":"##### clearRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形的宽度 |\n| height | number | 是 | - | - | 矩形的高度 | \n","returnValue":"","tutorial":""},"clip":{"name":"#### clip(): void @clip","description":"将当前创建的路径设置为当前剪切路径","compatibility":"##### clip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"clip_1":{"name":"#### clip(path: Path2D): void @clip","description":"将当前创建的路径设置为当前剪切路径","compatibility":"##### clip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"","tutorial":""},"clip_2":{"name":"#### clip(fillRule: String): void @clip","description":"将当前创建的路径设置为当前剪切路径","compatibility":"##### clip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fillRule | [String](#string-values) | 是 | - | - | - | \n\n###### String 的方法 @string-values \n\n###### at(index: number): T \\| undefined; @at\nTakes an integer value and returns the item at that index,\nallowing for positive and negative integers.\nNegative integers count back from the last item in the array.\n###### at 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| index | number | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| T \\| null |\n \n","returnValue":"","tutorial":""},"clip_3":{"name":"#### clip(path: Path2D, fillRule: String): void @clip","description":"将当前创建的路径设置为当前剪切路径","compatibility":"##### clip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | |\n| fillRule | [String](#string-values) | 是 | - | - | - | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n\n###### String 的方法 @string-values \n\n###### at(index: number): T \\| undefined; @at\nTakes an integer value and returns the item at that index,\nallowing for positive and negative integers.\nNegative integers count back from the last item in the array.\n###### at 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| index | number | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| T \\| null |\n \n","returnValue":"","tutorial":""},"closePath":{"name":"#### closePath(): void @closepath","description":"关闭一个路径","compatibility":"##### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"createImageData":{"name":"#### createImageData(width: number, height: number): void @createimagedata","description":"创建一个新的、空白的、指定大小的 ImageData 对象。所有的像素在新对象中都是透明的黑色","compatibility":"##### createImageData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | - | - |\n| height | number | 是 | - | - | - | \n","returnValue":"","tutorial":""},"createPattern":{"name":"#### createPattern(image: Image, repetition: string): CanvasPattern @createpattern","description":"对指定的图像创建模式的方法,可在指定的方向上重复元图像","compatibility":"##### createPattern 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| image | [UniImageElement](#uniimageelement-values) | 是 | - | | 重复的图像源,支持代码包路径和本地临时路径 (本地路径) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n| repetition | string | 是 | - | - | 如何重复图像 | \n\n###### UniImageElement 的方法 @uniimageelement-values \n\n###### () => void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| - | 4.25 | 4.25 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| CanvasPattern | 接口表示一个不透明对象,描述了一个基于图像、画布或视频的模板,该模板通过 CanvasRenderingContext2D.createPattern() 方法创建 |\n \n","tutorial":""},"createLinearGradient":{"name":"#### createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient @createlineargradient","description":"创建一个线性的渐变颜色。返回的CanvasGradient对象需要使用 CanvasGradient.addColorStop() 来指定渐变点,至少要两个","compatibility":"##### createLinearGradient 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x0 | number | 是 | - | - | 起点的 x 坐标 |\n| y0 | number | 是 | - | - | 起点的 y 坐标 |\n| x1 | number | 是 | - | - | 终点的 x 坐标 |\n| y1 | number | 是 | - | - | 终点的 y 坐标 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [CanvasGradient](#canvasgradient-values) | 表示描述渐变的不透明对象。该接口通过 CanvasRenderingContext2D.createLinearGradient()、
CanvasRenderingContext2D.createConicGradient()
或 CanvasRenderingContext2D.createRadialGradient() 方法返回 |\n\n###### CanvasGradient 的方法 @canvasgradient-values \n\n###### addColorStop(stop: number, color: string): void @addcolorstop\n添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染\n###### addColorStop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| stop | number | 是 | - | - | 表示渐变中开始与结束之间的位置,范围 0-1 |\n| color | string | 是 | - | - | 渐变点的颜色 | \n\n \n","tutorial":""},"createRadialGradient":{"name":"#### createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r01: number): CanvasGradient @createradialgradient","description":"根据参数确定两个圆的坐标,绘制放射性渐变","compatibility":"##### createRadialGradient 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x0 | number | 是 | - | - | 开始圆形的 x 轴坐标 |\n| y0 | number | 是 | - | - | 开始圆形的 y 轴坐标 |\n| r0 | number | 是 | - | - | 开始圆形的半径 |\n| x1 | number | 是 | - | - | 结束圆形的 x 轴坐标 |\n| y1 | number | 是 | - | - | 结束圆形的 y 轴坐标 |\n| r01 | number | 是 | - | - | 结束圆形的半径 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [CanvasGradient](#canvasgradient-values) | 表示描述渐变的不透明对象。该接口通过 CanvasRenderingContext2D.createLinearGradient()、
CanvasRenderingContext2D.createConicGradient()
或 CanvasRenderingContext2D.createRadialGradient() 方法返回 |\n\n###### CanvasGradient 的方法 @canvasgradient-values \n\n###### addColorStop(stop: number, color: string): void @addcolorstop\n添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染\n###### addColorStop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| stop | number | 是 | - | - | 表示渐变中开始与结束之间的位置,范围 0-1 |\n| color | string | 是 | - | - | 渐变点的颜色 | \n\n \n","tutorial":""},"draw":{"name":"#### draw(): void @draw","description":"将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中","compatibility":"##### draw 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"drawImage":{"name":"#### drawImage(imageResource: Image, sx: number, sy: number): void @drawimage","description":"绘制图像到画布","compatibility":"##### drawImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageResource | [UniImageElement](#uniimageelement-values) | 是 | - | | 所要绘制的图片资源 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n| sx | number | 是 | - | - | 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 x 坐标 |\n| sy | number | 是 | - | - | 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 y 坐标 | \n\n###### UniImageElement 的方法 @uniimageelement-values \n\n###### () => void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| - | 4.25 | 4.25 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","returnValue":"","tutorial":""},"drawImage_1":{"name":"#### drawImage(imageResource: Image, sx: number, sy: number, sWidth: number, sHeight: number): void @drawimage","description":"","compatibility":"##### drawImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageResource | [UniImageElement](#uniimageelement-values) | 是 | - | | image元素对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n| sx | number | 是 | - | - | - |\n| sy | number | 是 | - | - | - |\n| sWidth | number | 是 | - | - | - |\n| sHeight | number | 是 | - | - | - | \n\n###### UniImageElement 的方法 @uniimageelement-values \n\n###### () => void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| - | 4.25 | 4.25 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","returnValue":"","tutorial":""},"drawImage_2":{"name":"#### drawImage(imageResource: Image, sx: number, sy: number, sWidth: number, sHeight: number, dx: number, dy: number, dWidth: number, dHeight: number): void @drawimage","description":"","compatibility":"##### drawImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageResource | [UniImageElement](#uniimageelement-values) | 是 | - | | image元素对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n| sx | number | 是 | - | - | - |\n| sy | number | 是 | - | - | - |\n| sWidth | number | 是 | - | - | - |\n| sHeight | number | 是 | - | - | - |\n| dx | number | 是 | - | - | - |\n| dy | number | 是 | - | - | - |\n| dWidth | number | 是 | - | - | - |\n| dHeight | number | 是 | - | - | - | \n\n###### UniImageElement 的方法 @uniimageelement-values \n\n###### () => void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| - | 4.25 | 4.25 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","returnValue":"","tutorial":""},"ellipse":{"name":"#### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse","description":"添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束","compatibility":"##### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n","returnValue":"","tutorial":""},"fill":{"name":"#### fill(): void @fill","description":"对当前路径中的内容进行填充","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"fill_1":{"name":"#### fill(fillRule: \"nonzero\" \\| \"evenodd\"): void @fill","description":"对当前路径中的内容进行填充","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fillRule | \"nonzero\" \\| \"evenodd\" | 是 | - | - | 填充当前或已存在的路径的方法。采取非零环绕(nonzero)或者奇偶环绕(evenodd)规则 | \n","returnValue":"","tutorial":""},"fill_2":{"name":"#### fill(path: Path2D, fillRule: \"nonzero\" \\| \"evenodd\"): void @fill","description":"对指定路径中的内容进行填充","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | 填充路径 |\n| fillRule | \"nonzero\" \\| \"evenodd\" | 是 | - | - | 填充当前或已存在的路径的方法。采取非零环绕(nonzero)或者奇偶环绕(evenodd)规则 | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"","tutorial":""},"fillRect":{"name":"#### fillRect(x: number, y: number, width: number, height: number): void @fillrect","description":"填充一个矩形。用 setFillStyle 设置矩形的填充色,如果没设置默认是黑色","compatibility":"##### fillRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形的宽度 |\n| height | number | 是 | - | - | 矩形的高度 | \n","returnValue":"","tutorial":""},"fillText":{"name":"#### fillText(text: string, x: number, y: number, maxWidth: number): void @filltext","description":"在画布上绘制文本","compatibility":"##### fillText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要渲染的文本字符串 |\n| x | number | 是 | - | - | 开始绘制文本的点的 X 轴坐标 |\n| y | number | 是 | - | - | 开始绘制文本的点的 X 轴坐标 |\n| maxWidth | number | 是 | - | - | 需要绘制的最大宽度 | \n","returnValue":"","tutorial":""},"getImageData":{"name":"#### getImageData(sx: number, sy: number, sw: number, sh: number): ImageData @getimagedata","description":"返回一个ImageData对象,用来描述 canvas 区域隐含的像素数据,这个区域通过矩形表示,起始点为*(sx, sy)、宽为sw、高为sh。","compatibility":"##### getImageData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| sx | number | 是 | - | - | 将要被提取的图像数据矩形区域的左上角 x 坐标 |\n| sy | number | 是 | - | - | 将要被提取的图像数据矩形区域的左上角 y 坐标 |\n| sw | number | 是 | - | - | 将要被提取的图像数据矩形区域的宽度 |\n| sh | number | 是 | - | - | 将要被提取的图像数据矩形区域的高度 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| **ImageData** | 描述canvas元素的一个隐含像素数据的区域 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| width | number | 是 | - | - | - |\n@| height | number | 是 | - | - | - | \n","tutorial":""},"isContextLost":{"name":"#### isContextLost(): Boolean @iscontextlost","description":"返回一个Boolean 标记上下文是否已经丢失","compatibility":"##### isContextLost 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| Boolean |\n \n","tutorial":""},"isPointInPath":{"name":"#### isPointInPath(x: number, y: number): boolean @ispointinpath","description":"判断在当前路径中是否包含检测点","compatibility":"##### isPointInPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInPath_1":{"name":"#### isPointInPath(x: number, y: number, fillRule: String): boolean @ispointinpath","description":"判断在当前路径中是否包含检测点","compatibility":"##### isPointInPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 |\n| fillRule | [String](#string-values) | 是 | - | - | 用来决定点在路径内还是在路径外的算法 | \n\n###### String 的方法 @string-values \n\n###### at(index: number): T \\| undefined; @at\nTakes an integer value and returns the item at that index,\nallowing for positive and negative integers.\nNegative integers count back from the last item in the array.\n###### at 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| index | number | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| T \\| null |\n \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInPath_2":{"name":"#### isPointInPath(path: Path2D, x: number, y: number): boolean @ispointinpath","description":"判断在当前路径中是否包含检测点","compatibility":"##### isPointInPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | Path2D应用的路径 |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInPath_3":{"name":"#### isPointInPath(path: Path2D, x: number, y: number, fillRule: String): boolean @ispointinpath","description":"判断在当前路径中是否包含检测点","compatibility":"##### isPointInPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | Path2D应用的路径 |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 |\n| fillRule | [String](#string-values) | 是 | - | - | 用来决定点在路径内还是在路径外的算法 | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n\n###### String 的方法 @string-values \n\n###### at(index: number): T \\| undefined; @at\nTakes an integer value and returns the item at that index,\nallowing for positive and negative integers.\nNegative integers count back from the last item in the array.\n###### at 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| index | number | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| T \\| null |\n \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInStroke":{"name":"#### isPointInStroke(x: number, y: number): boolean @ispointinstroke","description":"检测某点是否在路径的描边线","compatibility":"##### isPointInStroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"isPointInStroke_1":{"name":"#### isPointInStroke(path: Path2D, x: number, y: number): boolean @ispointinstroke","description":"检测某点是否在路径的描边线","compatibility":"##### isPointInStroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | Path2D应用的路径 |\n| x | number | 是 | - | - | 检测点的 X 坐标 |\n| y | number | 是 | - | - | 检测点的 Y 坐标 | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"getLineDash":{"name":"#### getLineDash(): Array\\ @getlinedash","description":"在填充线时使用虚线模式, 它使用一组值来指定描述模式的线和间隙的交替长度。","compatibility":"##### getLineDash 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| number[\\] |\n \n","tutorial":""},"lineTo":{"name":"#### lineTo(x: number, y: number): void @lineto","description":"增加一个新点,然后创建一条从上次指定点到目标点的线。用 stroke 方法来画线条","compatibility":"##### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 目标位置的 x 坐标 |\n| y | number | 是 | - | - | 目标位置的 y 坐标 | \n","returnValue":"","tutorial":""},"measureText":{"name":"#### measureText(text: string): TextMetrics @measuretext","description":"测量文本尺寸信息。目前仅返回文本宽度","compatibility":"##### measureText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要渲测量的文本字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| **TextMetrics** | 表示文本的尺寸,通过 CanvasRenderingContext2D.measureText() 方法创建 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| width | number | 是 | - | - | - | \n","tutorial":""},"moveTo":{"name":"#### moveTo(x: number, y: number): void @moveto","description":"把路径移动到画布中的指定点","compatibility":"##### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 目标位置的 x 坐标 |\n| y | number | 是 | - | - | 目标位置的 y 坐标 | \n","returnValue":"","tutorial":""},"putImageData":{"name":"#### putImageData(imageData: ImageData, x: number, y: number): boolean @putimagedata","description":"将数据从已有的 ImageData 对象绘制到位图的方法。如果提供了一个绘制过的矩形,则只绘制该矩形的像素。此方法不受画布转换矩阵的影响","compatibility":"##### putImageData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageData | **ImageData** | 是 | - | | 包含像素值的数组对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| width | number | 是 | - | - | - |\n@| height | number | 是 | - | - | - |\n| x | number | 是 | - | - | 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) |\n| y | number | 是 | - | - | 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"putImageData_1":{"name":"#### putImageData(imageData: ImageData, x: number, y: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): boolean @putimagedata","description":"将数据从已有的 ImageData 对象绘制到位图的方法。如果提供了一个绘制过的矩形,则只绘制该矩形的像素。此方法不受画布转换矩阵的影响","compatibility":"##### putImageData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| imageData | **ImageData** | 是 | - | | 包含像素值的数组对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| width | number | 是 | - | - | - |\n@| height | number | 是 | - | - | - |\n| x | number | 是 | - | - | 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) |\n| y | number | 是 | - | - | 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) |\n| dirtyX | number | 是 | - | - | 在源图像数据中,矩形区域左上角的位置。默认是整个图像数据的左上角(x 坐标) |\n| dirtyY | number | 是 | - | - | 在源图像数据中,矩形区域左上角的位置。默认是整个图像数据的左上角(y 坐标) |\n| dirtyWidth | number | 是 | - | - | 在源图像数据中,矩形区域的宽度。默认是图像数据的宽度) |\n| dirtyHeight | number | 是 | - | - | 在源图像数据中,矩形区域的高度。默认是图像数据的高度 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"quadraticCurveTo":{"name":"#### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto","description":"创建二次贝塞尔曲线路径","compatibility":"##### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","tutorial":""},"rect":{"name":"#### rect(x: number, y: number, width: number, height: number): void @rect","description":"创建一个矩形路径","compatibility":"##### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n","returnValue":"","tutorial":""},"resetTransform":{"name":"#### resetTransform(): void @resettransform","description":"使用单位矩阵重新设置当前变换","compatibility":"##### resetTransform 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"restore":{"name":"#### restore(): void @restore","description":"恢复之前保存的绘图上下文","compatibility":"##### restore 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"rotate":{"name":"#### rotate(rotate: number): void @rotate","description":"以原点为中心顺时针旋转当前坐标轴","compatibility":"##### rotate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| rotate | number | 是 | - | - | ,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360 | \n","returnValue":"","tutorial":""},"roundRect":{"name":"#### roundRect(x: number, y: number, width: number, height: number, radii: any): boolean @roundrect","description":"在当前路径中添加一个圆角矩形","compatibility":"##### roundRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 包含像素值的数组对象 |\n| y | number | 是 | - | - | 矩形起点的 x 轴坐标,以像素为单位 |\n| width | number | 是 | - | - | 矩形起点的 y 轴坐标,以像素为单位 |\n| height | number | 是 | - | - | 矩形的宽度。正值向右,负值向左 |\n| radii | any | 是 | - | - | 矩形的高度。正值向下,负值向上 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","tutorial":""},"save":{"name":"#### save(): void @save","description":"保存绘图上下文","compatibility":"##### save 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"scale":{"name":"#### scale(x: number, y: number): void @scale","description":"缩放变换","compatibility":"##### scale 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | |\n| y | number | 是 | - | - | | \n","returnValue":"","tutorial":""},"setLineDash":{"name":"#### setLineDash(segments: Array\\): void @setlinedash","description":"在填充线时使用虚线模式, 它使用一组值来指定描述模式的线和间隙的交替长度。","compatibility":"##### setLineDash 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| segments | number[\\] | 是 | - | - | \\一组描述交替绘制线段和间距(坐标空间单位)长度的数字 | \n","returnValue":"","tutorial":""},"setTransform":{"name":"#### setTransform(scaleX: Number, skewY: Number, skewX: Number, scaleY: Number, translateX: Number, translateY: Number): void @settransform","description":"使用单位矩阵重新设置(覆盖)当前的变换并调用变换","compatibility":"##### setTransform 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| scaleX | Number | 是 | - | - | 水平缩放 |\n| skewY | Number | 是 | - | - | 垂直倾斜 |\n| skewX | Number | 是 | - | - | 水平倾斜 |\n| scaleY | Number | 是 | - | - | 垂直缩放 |\n| translateX | Number | 是 | - | - | 水平移动 |\n| translateY | Number | 是 | - | - | 垂直移动 | \n","returnValue":"","tutorial":""},"stroke":{"name":"#### stroke(): void @stroke","description":"画出当前路径的边框。默认颜色色为黑色","compatibility":"##### stroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"stroke_1":{"name":"#### stroke(path: Path2D): void @stroke","description":"画出指定路径的边框。默认颜色色为黑色","compatibility":"##### stroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | [Path2D](#path2d-values) | 是 | - | - | | \n\n###### Path2D 的方法 @path2d-values \n\n###### closePath(): void @closepath\n闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。\n###### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n\n\n###### moveTo(x: number, y: number): void @moveto\n将一个新的路径的起始点移动到 (x,y) 坐标\n###### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n\n\n###### lineTo(x: number, y: number): void @lineto\n将路径的最后一个点连接到 (x,y) 坐标\n###### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n\n\n###### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto\n创建三次方贝塞尔曲线路径\n###### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto\n创建二次贝塞尔曲线路径\n###### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n\n\n###### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc\n绘制一段弧线\n###### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n\n\n###### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto\n根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径\n###### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n\n\n###### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse\n添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束\n###### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n\n\n###### rect(x: number, y: number, width: number, height: number): void @rect\n创建一个矩形路径\n###### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n\n","returnValue":"","tutorial":""},"strokeRect":{"name":"#### strokeRect(x: number, y: number, width: number, height: number): void @strokerect","description":"画一个矩形(非填充)","compatibility":"##### strokeRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形的宽度 |\n| height | number | 是 | - | - | 矩形的高度 | \n","returnValue":"","tutorial":""},"strokeText":{"name":"#### strokeText(text: string, x: number, y: number, maxWidth: number): void @stroketext","description":"文本描边","compatibility":"##### strokeText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要渲染的文本字符串 |\n| x | number | 是 | - | - | 开始绘制文本的点的 X 轴坐标 |\n| y | number | 是 | - | - | 开始绘制文本的点的 X 轴坐标 |\n| maxWidth | number | 是 | - | - | 需要绘制的最大宽度 | \n","returnValue":"","tutorial":""},"transform":{"name":"#### transform(scaleX: Number, skewY: number, skewX: number, scaleY: number, translateX: number, translateY: number): void @transform","description":"使用矩阵多次叠加当前变换,矩阵由方法的参数进行描述。可以缩放、旋转、移动和倾斜上下文","compatibility":"##### transform 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| scaleX | Number | 是 | - | - | 水平缩放 |\n| skewY | number | 是 | - | - | 垂直倾斜 |\n| skewX | number | 是 | - | - | 水平倾斜 |\n| scaleY | number | 是 | - | - | 垂直缩放 |\n| translateX | number | 是 | - | - | 水平移动 |\n| translateY | number | 是 | - | - | 垂直移动 | \n","returnValue":"","tutorial":""},"translate":{"name":"#### translate(translateX: number, translateY: number): void @translate","description":"当前网格添加平移变换","compatibility":"##### translate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| translateX | number | 是 | - | - | 水平方向的移动距离 |\n| translateY | number | 是 | - | - | 垂直方向的移动距离 | \n","returnValue":"","tutorial":""}},"compatibility":"### CanvasRenderingContext2D 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"CanvasGradient":{"name":"## CanvasGradient","description":"表示描述渐变的不透明对象。该接口通过 CanvasRenderingContext2D.createLinearGradient()、
CanvasRenderingContext2D.createConicGradient()
或 CanvasRenderingContext2D.createRadialGradient() 方法返回","extends":"","param":"","methods":{"addColorStop":{"name":"#### addColorStop(stop: number, color: string): void @addcolorstop","description":"添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染","compatibility":"##### addColorStop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| stop | number | 是 | - | - | 表示渐变中开始与结束之间的位置,范围 0-1 |\n| color | string | 是 | - | - | 渐变点的颜色 | \n","returnValue":"","tutorial":""}},"compatibility":"### CanvasGradient 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"Path2D":{"name":"## Path2D","description":"","extends":"","param":"","methods":{"closePath":{"name":"#### closePath(): void @closepath","description":"闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。","compatibility":"##### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"","returnValue":"","tutorial":""},"moveTo":{"name":"#### moveTo(x: number, y: number): void @moveto","description":"将一个新的路径的起始点移动到 (x,y) 坐标","compatibility":"##### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n","returnValue":"","tutorial":""},"lineTo":{"name":"#### lineTo(x: number, y: number): void @lineto","description":"将路径的最后一个点连接到 (x,y) 坐标","compatibility":"##### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n","returnValue":"","tutorial":""},"bezierCurveTo":{"name":"#### bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void @beziercurveto","description":"创建三次方贝塞尔曲线路径","compatibility":"##### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","tutorial":""},"quadraticCurveTo":{"name":"#### quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void @quadraticcurveto","description":"创建二次贝塞尔曲线路径","compatibility":"##### quadraticCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cpx | number | 是 | - | - | 贝塞尔控制点的 x 坐标 |\n| cpy | number | 是 | - | - | 贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","tutorial":""},"arc":{"name":"#### arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @arc","description":"绘制一段弧线","compatibility":"##### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆弧中心(圆心)的 x 轴坐标 |\n| y | number | 是 | - | - | 圆弧中心(圆心)的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean | 是 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n","returnValue":"","tutorial":""},"arcTo":{"name":"#### arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void @arcto","description":"根据控制点和半径绘制圆弧路径,使用当前的描点 (前一个 moveTo 或 lineTo 等函数的止点)。根据当前描点与给定的控制点 1 连接的直线,和控制点 1 与控制点 2 连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径","compatibility":"##### arcTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x1 | number | 是 | - | - | 第一个控制点的 x 轴坐标 |\n| y1 | number | 是 | - | - | 第一个控制点的 y 轴坐标 |\n| x2 | number | 是 | - | - | 第二个控制点的 x 轴坐标 |\n| y2 | number | 是 | - | - | 第二个控制点的 y 轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 | \n","returnValue":"","tutorial":""},"ellipse":{"name":"#### ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise: boolean): void @ellipse","description":"添加椭圆路径。椭圆的圆心在(x,y)位置,半径分别是radiusX 和 radiusY,按照anticlockwise(默认顺时针)指定的方向,从 startAngle 开始绘制,到 endAngle 结束","compatibility":"##### ellipse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | x | x |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | - |\n| y | number | 是 | - | - | - |\n| radiusX | number | 是 | - | - | - |\n| radiusY | number | 是 | - | - | - |\n| rotation | number | 是 | - | - | - |\n| startAngle | number | 是 | - | - | - |\n| endAngle | number | 是 | - | - | - |\n| anticlockwise | boolean | 是 | - | - | - | \n","returnValue":"","tutorial":""},"rect":{"name":"#### rect(x: number, y: number, width: number, height: number): void @rect","description":"创建一个矩形路径","compatibility":"##### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |\n","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形路径起点的 x 轴坐标 |\n| y | number | 是 | - | - | 矩形路径起点的 y 轴坐标 |\n| width | number | 是 | - | - | 矩形路径的宽度 |\n| height | number | 是 | - | - | 矩形路径的高度 | \n","returnValue":"","tutorial":""}},"compatibility":"### Path2D 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniImageElement":{"name":"## UniImageElement","description":"image元素对象","extends":"```mermaid\ngraph LR\n \nUniImageElement -- Extends --> UniElement\n style UniElement color:#42b983\n click UniElement \"https://doc.dcloud.net.cn/uni-app-x/dom/unielement.html\"\n```","param":"\n### UniImageElement 的属性值 @uniimageelement-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| src | string | 是 | - | | 图片url |\n","methods":{"onload":{"name":"#### () => void \\| null @onload","description":"图片加载完成事件","compatibility":"##### onload 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| - | 4.25 | 4.25 | x |\n","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| void \\| null | 否 |\n \n","tutorial":""}},"compatibility":"### UniImageElement 兼容性 \n | Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |"},"CanvasPattern":{"name":"## CanvasPattern","description":"接口表示一个不透明对象,描述了一个基于图像、画布或视频的模板,该模板通过 CanvasRenderingContext2D.createPattern() 方法创建","extends":"","param":"","compatibility":"### CanvasPattern 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"ImageData":{"name":"## ImageData","description":"描述canvas元素的一个隐含像素数据的区域","extends":"","param":"\n### ImageData 的属性值 @imagedata-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | - | - |\n| height | number | 是 | - | - | - |\n","compatibility":"### ImageData 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"TextMetrics":{"name":"## TextMetrics","description":"表示文本的尺寸,通过 CanvasRenderingContext2D.measureText() 方法创建","extends":"","param":"\n### TextMetrics 的属性值 @textmetrics-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | - | - |\n","compatibility":"### TextMetrics 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.21 | 4.25 | 4.25 |"},"UniError":{"name":"## UniError","description":"uni api统一错误信息对象 ","extends":"","param":"\n### 构造函数\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | 统一错误描述信息 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | 统一错误描述信息 |\n| options | any | 是 | - | - | 源错误对象,原始错误对象应该包含在 options.cause 属性中 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errMsg | string | 是 | - | - | 统一错误描述信息 |\n\n### UniError 的属性值 @unierror-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errMsg | string | 是 | - | - | 统一错误描述信息 |\n| data | any \\| null | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) \\| null | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| name | string | 是 | - | - | - |\n| message | string | 是 | - | - | - |\n","compatibility":"### UniError 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"Error":{"name":"## Error","description":"UTS错误信息对象","extends":"","param":"\n### 构造函数\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | - |\n| options | any | 是 | - | - | - |\n\n### Error 的属性值 @error-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| message | string | 是 | - | - | - |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) \\| null | 否 | - | - | - |\n","compatibility":"### Error 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"general-attribute":{"name":"组件公共属性","description":"","attribute":"| 名称 | 类型 | 描述 |\n| :- | :- | :- |\n| id | string(string.IDString) | 组件的唯一标识。需避免同页面中不同组件设置重复id;需避免使用uni-、uni.等前缀 |\n| style | string | 组件的内联样式,可以动态设置的内联样式 |\n| class | string(string.ClassString) | 组件的样式类,在对应的 css 中定义的样式类 |\n| ref | string | vue中组件的唯一标识,用来给子组件注册引用信息,[详见](https://doc.dcloud.net.cn/uni-app-x/vue/built-in.html#ref) |\n| data-* | any | 自定义属性,组件上触发的事件时,会发送给事件处理函数 |\n| android-* | any | App-Android平台专有属性,详见[App-Android平台专有属性](https://doc.dcloud.net.cn/uni-app-x/component/common.html#attribute-android)章节 |","compatibility":"| | Web | Android | iOS |\n| :- | :- | :- | :- |\n| id | 4.0 | 3.9 | 4.11 |\n| style | 4.0 | 3.9 | 4.11 |\n| class | 4.0 | 3.9 | 4.11 |\n| ref | 4.0 | 3.9 | 4.11 |\n| data-* | 4.0 | 3.9 | 4.11 |\n| android-* | x | 3.9 | x |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/component/global-properties/global-properties.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/global-properties/global-properties\n>Template\n```vue\n\n\n\n\n\n\n```\n>Script\n```uts\n\nexport default {\n data() {\n return {\n title: 'global-properties',\n generalId: 'general-id',\n generalClass: 'general-class',\n generalName: 'general-name',\n generalTitle: 'general-title',\n generalData: 'general-data',\n generalStyle: 'background-color: aqua',\n validateGeneralAttrText: '验证基础属性',\n hoverClass: 'hover-class',\n validateViewAttrText: '验证 view 属性',\n changeHeightByRefText: '通过 ref 修改高度',\n }\n },\n methods: {\n validateGeneralAttributes() {\n const generalTarget = this.$refs['general-target'] as UniElement\n const generalId = generalTarget.getAttribute('id')\n if (generalId != this.generalId) {\n this.validateGeneralAttrText = '基础属性 id 验证失败'\n return\n }\n // #ifdef APP\n if (!generalTarget.classList.includes('general-class')) {\n // #endif\n // #ifdef WEB\n if (!Array.from(generalTarget.classList).includes('general-class')) {\n // #endif\n this.validateGeneralAttrText = '基础属性 class 验证失败'\n return\n }\n const generalName = generalTarget.getAttribute('name')\n if (generalName != this.generalName) {\n this.validateGeneralAttrText = '基础属性 name 验证失败'\n return\n }\n const generalTitle = generalTarget.getAttribute('title')\n if (generalTitle != this.generalTitle) {\n this.validateGeneralAttrText = '基础属性 title 验证失败'\n return\n }\n const generalData = generalTarget.getAttribute('data-test')\n if (generalData != this.generalData) {\n this.validateGeneralAttrText = '基础属性 data-test 验证失败'\n return\n }\n this.validateGeneralAttrText = '基础属性验证成功'\n },\n changeHeight(){\n const generalTarget = this.$refs['general-target'] as UniElement\n this.changeHeightByRefText = '已通过 ref 修改高度'\n generalTarget.style.setProperty('height', '200px')\n }\n },\n}\n\n```\n:::"},"general-event":{"name":"组件公共事件","description":"","attribute":"| 名称 | 类型 | 描述 |\n| :- | :- | :- |\n| @click | (event: [UniPointerEvent](/component/common.md#unipointerevent)) => void | 手指触摸后马上离开。与tap相同,(推荐使用tap事件代替),冒泡事件 |\n| @mousedown | (event: [UniMouseEvent](/component/common.md#unimouseevent)) => void | 鼠标在元素上点击后触发 |\n| @mousemove | (event: [UniMouseEvent](/component/common.md#unimouseevent)) => void | 鼠标在元素上移动时触发 |\n| @mouseup | (event: [UniMouseEvent](/component/common.md#unimouseevent)) => void | 鼠标主按钮在元素上松开时触发 |\n| @touchstart | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸动作开始,冒泡事件,event.type 值为 touchstart |\n| @touchmove | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸后移动,冒泡事件,event.type 值为 touchmove |\n| @touchcancel | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸动作被打断,如来电提醒,弹窗,冒泡事件,event.type 值为 touchcancel |\n| @touchend | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸动作结束,冒泡事件,event.type 值为 touchend |\n| @tap | (event: [UniPointerEvent](/component/common.md#unipointerevent)) => void | 手指触摸后马上离开,冒泡事件 |\n| @longpress | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 如果一个组件被绑定了 longpress 事件,那么当用户手指触摸后,超过350ms再离开会触发,冒泡事件 |\n| @longtap | (event: [UniTouchEvent](/component/common.md#unitouchevent)) => void | 手指触摸后,超过350ms再离开(推荐使用 longpress 事件代替) |\n| @transitionend | (event: [UniEvent](/component/common.md#unievent)) => void | transition 效果结束时触发 |","compatibility":"| | Web | Android | iOS |\n| :- | :- | :- | :- |\n| @click | 4.0 | 3.9 | 4.11 |\n| @mousedown | 4.0 | x | x |\n| @mousemove | 4.0 | x | x |\n| @mouseup | 4.0 | x | x |\n| @touchstart | 4.0 | 3.9 | 4.11 |\n| @touchmove | 4.0 | 3.9 | 4.11 |\n| @touchcancel | 4.0 | 3.9 | 4.11 |\n| @touchend | 4.0 | 3.9 | 4.11 |\n| @tap | 4.0 | 3.9 | 4.11 |\n| @longpress | 4.0 | 3.9 | 4.11 |\n| @longtap | 4.0 | 3.9 | 4.11 |\n| @transitionend | 4.0 | 3.93 | 4.11 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/component/global-properties/global-properties.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/global-properties/global-properties\n>Template\n```vue\n\n\n\n\n\n\n```\n>Script\n```uts\n\nexport default {\n data() {\n return {\n title: 'global-properties',\n generalId: 'general-id',\n generalClass: 'general-class',\n generalName: 'general-name',\n generalTitle: 'general-title',\n generalData: 'general-data',\n generalStyle: 'background-color: aqua',\n validateGeneralAttrText: '验证基础属性',\n hoverClass: 'hover-class',\n validateViewAttrText: '验证 view 属性',\n changeHeightByRefText: '通过 ref 修改高度',\n }\n },\n methods: {\n validateGeneralAttributes() {\n const generalTarget = this.$refs['general-target'] as UniElement\n const generalId = generalTarget.getAttribute('id')\n if (generalId != this.generalId) {\n this.validateGeneralAttrText = '基础属性 id 验证失败'\n return\n }\n // #ifdef APP\n if (!generalTarget.classList.includes('general-class')) {\n // #endif\n // #ifdef WEB\n if (!Array.from(generalTarget.classList).includes('general-class')) {\n // #endif\n this.validateGeneralAttrText = '基础属性 class 验证失败'\n return\n }\n const generalName = generalTarget.getAttribute('name')\n if (generalName != this.generalName) {\n this.validateGeneralAttrText = '基础属性 name 验证失败'\n return\n }\n const generalTitle = generalTarget.getAttribute('title')\n if (generalTitle != this.generalTitle) {\n this.validateGeneralAttrText = '基础属性 title 验证失败'\n return\n }\n const generalData = generalTarget.getAttribute('data-test')\n if (generalData != this.generalData) {\n this.validateGeneralAttrText = '基础属性 data-test 验证失败'\n return\n }\n this.validateGeneralAttrText = '基础属性验证成功'\n },\n changeHeight(){\n const generalTarget = this.$refs['general-target'] as UniElement\n this.changeHeightByRefText = '已通过 ref 修改高度'\n generalTarget.style.setProperty('height', '200px')\n }\n },\n}\n\n```\n:::"}} \ No newline at end of file diff --git a/docs/api/choose-video.md b/docs/api/choose-video.md index ea02446e57f1a71f67fcb588427031bd8d7c1730..c2c880df090157eb4832ba2b593a79f0c236afb0 100644 --- a/docs/api/choose-video.md +++ b/docs/api/choose-video.md @@ -1,4 +1,4 @@ -## uni.chooseVideo(options) @chooseVideo +## uni.chooseVideo(options) @choosevideo diff --git a/docs/api/get-app-authorize-setting.md b/docs/api/get-app-authorize-setting.md index e4be08ad5da3aebf2f7da049a94236a2eaa567f6..b1787e817c036563a9be2047c34443b66ff5cba4 100644 --- a/docs/api/get-app-authorize-setting.md +++ b/docs/api/get-app-authorize-setting.md @@ -12,7 +12,7 @@ -如需跳转到权限设置界面,参考[utsAndroid.gotoSystemPermissionActivity](../uts/utsandroid.md#gotoSystemPermissionActivity) +如需跳转到权限设置界面,参考[utsAndroid.gotoSystemPermissionActivity](../uts/utsandroid.md#gotosystempermissionactivity) 注意: diff --git a/docs/api/get-device-info.md b/docs/api/get-device-info.md index 830a96a8f2af1d8b4d44d4279b79a868c447422f..c37826b847d8d2db25d30a55ea4c33d887fab427 100644 --- a/docs/api/get-device-info.md +++ b/docs/api/get-device-info.md @@ -10,7 +10,7 @@ ::: warning 注意事项 - 获取OAID、AndroidID等其他设备信息,[见插件市场](https://ext.dcloud.net.cn/search?q=oaid&orderBy=Relevance&uni-appx=1) -- romName值域候选 [详见](./get-system-info.md#romName) +- romName值域候选 [详见](./get-system-info.md#romname) - app平台devicePixelRatio属性,HBuilderX4.22及以下版本类型为string,HBuilderX4.23版本调整为number ::: diff --git a/docs/api/request.md b/docs/api/request.md index d8ef32988da8a6c2600b50a22e744520cc98ef74..203d98246e0ad6a4e50bfdd384b2a8ecab180bdf 100644 --- a/docs/api/request.md +++ b/docs/api/request.md @@ -18,7 +18,7 @@ ## 注意事项 * 推荐使用成熟的网络拦截器插件,见[插件市场](https://ext.dcloud.net.cn/search?q=%E7%BD%91%E7%BB%9C%E6%8B%A6%E6%88%AA%E5%99%A8&uni-appx=1) -* app-android平台 request 接口如需包装和传递泛型,需参考[泛型传递丢失注意](../plugin/uts-for-android.md#6.6 泛型传递丢失的问题)。成熟的拦截器插件均已自动处理这些问题。 +* app-android平台 request 接口如需包装和传递泛型,需参考[泛型传递丢失注意](../plugin/uts-for-android.md#lost-generics)。成熟的拦截器插件均已自动处理这些问题。 * 如果使用泛型先创建RequestOptions实例,再传入uni.request(),此时请务必确保request要显式指定泛型,例: ```typescript const options: RequestOptions = ... diff --git a/docs/component/README.md b/docs/component/README.md index 3964aa413b36ac45e3c85b32a1afada1de225a13..390aa45ccee91e3282e9b59e13edde3f7cfc36c6 100644 --- a/docs/component/README.md +++ b/docs/component/README.md @@ -38,17 +38,17 @@ const buttonClick_changeText = () => { title.value = "新文字内容" //对响应式变量title的.value属性赋值,界面上文字会自动同步修改 } - + let titleShow = ref(true) //决定标题文字是否显示 const buttonClick_showHide = () => { titleShow.value = !titleShow.value //对响应式变量的.value属性赋值,界面上文字组件的v-if指令绑定了titleShow,所以会动态显示消失 } - + let titleColor = ref("black") //定义一个响应式变量titleColor,默认为黑色 const buttonClick_changeColor = () => { titleColor.value = "red" //对响应式变量的.value属性赋值,界面上文字组件的style属性绑定了titleColor,所以会变为红色 } - + const imgerror = (event : ImageErrorEvent) => { // image组件加载失败时触发 console.log(event.type, event.detail); //错误的详情 } @@ -92,7 +92,7 @@ buttonClick_changeText 是script里定义的一个函数。\ 比如上面例子中image组件的error事件,绑定到imgerror函数,它有一个参数event对象,类型是ImageErrorEvent。接下来的代码打印了event对象的2个属性。 - vue指令 -vue提供的一批特殊写法的属性,它们以v-开头,比如上面例子中text组件的v-if指令,绑定了一个titleShow的响应式变量,根据变量的true或false可以决定text组件是否显示。详见[vue指令](./built-in.md)\ +vue提供的一批特殊写法的属性,它们以v-开头,比如上面例子中text组件的v-if指令,绑定了一个titleShow的响应式变量,根据变量的true或false可以决定text组件是否显示。详见[vue指令](../vue/built-in.md)\ 有一种特殊指令`v-bind`,一种把属性值变成script以便绑定响应式变量的写法,它的完整写法是 v-bind:普通属性名 = "属性值", 但它更常见的写法是简写为在普通属性前面加个冒号,比如上面例子中text组件的:style,`:style="'color:' + titleColor"`。\ 这个写法的意思是,text组件的style样式中,color属性的值绑定到了script定义的响应式变量titleColor上,修改这个响应式变量的值,text组件的文字颜色就会跟着变化。\ diff --git a/docs/component/web-view.md b/docs/component/web-view.md index 657c37475146add11fee7d37d79cd34a03c60784..4f1548f9f76adefae4ce31a9db3ef4b6c3ea5ab7 100644 --- a/docs/component/web-view.md +++ b/docs/component/web-view.md @@ -25,6 +25,29 @@ 支持http、https。 app平台使用系统Webview组件,由系统Webview管理缓存。 +### 获取原生WebView对象 + +通过 UniElement 的 getAndroidView 和 getIOSView 方法可以获取到 web-view 组件对应的原生 Webview 对象,从而可以调用部分原生 API 以扩展当前 web-view 组件未提供的能力。 + +比如:Android 平台和 iOS 平台的原生 WebView 都提供了 canGoBack 和 canGoForward 两个 API,用来判断当前网页是否可以回退和前进。但 uni-app x 的 web-view 组件没有提供上述 API,下面则举例说明在 Android 平台如何通过获取原生 WebView 对象来实现上述能力(iOS 平台写法类似)。 + +```js +import WebView from 'android.webkit.WebView'; + +function canGoBack() : boolean { + const element = uni.getElementById(elementId); + const webview = element?.getAndroidView(); + // 调用原生 WebView 的 canGoBack 方法 + return webview == null ? false : webview.canGoBack(); +} + +function canGoForward() : boolean { + const element = uni.getElementById(elementId); + const webview = element?.getAndroidView(); + return webview == null ? false : webview.canGoForward(); +} +``` + diff --git a/docs/i18n.md b/docs/i18n.md index d3b0f95cfb61436fc55dab0ef8e04e145f120d1e..74c4d5ad020be244c963961d3fb4c22cd6bb76b4 100644 --- a/docs/i18n.md +++ b/docs/i18n.md @@ -138,20 +138,20 @@ pages.json 支持以下属性配置国际化信息 ## 框架内置组件和API国际化 -uni-app x 的部分组件和API涉及界面,框架内置支持的国际化语言,如果手机os或浏览器语言在这些内置国际化语言列表中会自适应。如果不在5种内,会默认为英文。 -- app-Android平台 +uni-app x 的部分组件和API涉及界面,框架内置支持的国际化语言,如果手机os或浏览器语言在这些内置国际化语言列表中会自适应。如果不在5种内,会默认为英文。 +- app-Android平台 * 中文简体 * 中文繁体 * 英语 * 法语(HBuilderX 4.25及以上版本支持) * 西班牙语(HBuilderX 4.25及以上版本支持) -- app-iOS平台 +- app-iOS平台 * 中文简体 * 中文繁体(HBuilderX 4.25及以上版本支持) * 英语(HBuilderX 4.25及以上版本支持) * 法语(HBuilderX 4.25及以上版本支持) * 西班牙语(HBuilderX 4.25及以上版本支持) -- web平台 +- web平台 * 中文简体 * 中文繁体 * 英语 @@ -161,7 +161,7 @@ uni-app x 的部分组件和API涉及界面,框架内置支持的国际化语 涉及界面的组件和API包括: - [uni.showModal](./api/prompt.md#showmodal):默认的确定和取消按钮文字,会根据os和浏览器的语言自适应。也可以在API中通过参数自己指定文字。 - [uni.showActionSheet](./api/prompt.md#showactionsheet):取消按钮文字,会根据os和浏览器的语言自适应。 -- [uni.chooseImage](./api/choose-image.md#chooseimage) 和 [uni.chooseVideo](./api/choose-video.md#chooseVideo): +- [uni.chooseImage](./api/choose-image.md#chooseimage) 和 [uni.chooseVideo](./api/choose-video.md#choosevideo): + app平台弹出的`拍摄`和`从相册选择`选择框不支持国际化,可以设置`sourceType`参数值为单项自己实现选择框来处理。 * `拍摄` 打开的是系统相机界面,在app平台跟随系统语言,不受uni-app x内置国际化语言列表限制 * `从相册选择` 打开的是平台实现的界面,受uni-app x内置国际化语言列表限制 @@ -312,15 +312,15 @@ Web平台注意要区分系统语言和应用语言的概念。 可以得到设备OS的语言、运行宿主host的语言以及应用自身的语言。 -- [uni.getLocale](/api/ui/locale?id=getlocale) +- [uni.getLocale](https://uniapp.dcloud.io/api/ui/locale.html#getlocale) 获取应用当前使用的语言 -- [uni.setLocale](/api/ui/locale?id=setlocale) +- [uni.setLocale](https://uniapp.dcloud.io/api/ui/locale.html#setlocale) 设置应用语言 -- [uni.onLocaleChange](/api/ui/locale?id=onlocalechange) +- [uni.onLocaleChange](https://uniapp.dcloud.io/api/ui/locale.html#onlocalechange) 当前应用语言发生变化时,触发回调。也就是`uni.setLocale`执行时。 diff --git a/docs/native/README.md b/docs/native/README.md index 5b379e57299a50d3aceafc48d19a072717cbb4e0..08ca46b2ad91f0c67095411bd743f58c09f289ab 100644 --- a/docs/native/README.md +++ b/docs/native/README.md @@ -11,7 +11,7 @@ 所以在原生应用中集成uni-app x原生SDK,更像是集成一个小程序SDK。 -当然uni-app x的性能是最好的,它不会像小程序那样缓慢,也比react native/weex/flutter等性能和兼容性更好(评测[另见](../../select.md)) +当然uni-app x的性能是最好的,它不会像小程序那样缓慢,也比react native/weex/flutter等性能和兼容性更好(评测[另见](../select.md)) uni-app x原生SDK,给原生开发者提供了更多可能性: 1. 一个最高性能的跨平台框架,让开发效率、运行性能、开发成本这个原来的不可能三角变成可以兼得 diff --git a/docs/native/use/androidnewproject.md b/docs/native/use/androidnewproject.md deleted file mode 100644 index 1fc0b17570699dd6443e3b1e5e9f374478d70b90..0000000000000000000000000000000000000000 --- a/docs/native/use/androidnewproject.md +++ /dev/null @@ -1,593 +0,0 @@ -## 准备 - -- HBuilder X (4.18版本及以上) -- android studio - -*** -说明:当前文档基于android studio 2023.2.1 Patch 2。gradle版本为8.4。gradle插件版本为8.2.2。kotlin插件版本为1.9.10。 -*** - -## 新建项目 - -android studio中新建项目,模板选择`No Activity`。下一步选语言kotlin和Build configuration language,如下图: - -![](https://web-ext-storage.dcloud.net.cn/native/doc/android/create_project.jpg) - -**注意** -- `Language` 一定要选择`Kotlin`。 -- uni-app x最低支持版本为21,`Minimum SDK`需要选择21及以上的版本。 -- `Build configuration language`建议选择`Groovy DSL(build.gradle)`。以下教程均按照此模式进行。 -- `Name`建议与manifest.json中的`name`字段一致。 -- `Package name`作为应用标志,涉及申请第三方平台账号,一般情况下不建议修改,包名一般设置反向域名。 - - -## 工程配置 - -### 基础库配置 - -将uts-runtime-release.aar,android-gif-drawable-1.2.28.aar,app-common-release.aar,app-runtime-release.aar,breakpad-build-release.aar,dcloud-layout-release.aar, -framework-release.aar,uni-exit-release.aar,uni-getAccessibilityInfo-release.aar,uni-getAppAuthorizeSetting-release.aar,uni-getAppBaseInfo-release.aar, -uni-getSystemSetting-release.aar,uni-openAppAuthorizeSetting-release.aar,uni-prompt-release.aar,uni-storage-release.aar,uni-getDeviceInfo-release.aar, -uni-getSystemInfo-release.aar共17个aar拷贝到app模块的libs下,如果没有libs需要手动创建,参考下图: - -![](https://web-ext-storage.dcloud.net.cn/native/doc/android/main_libs.jpg) - -### 修改build.gradle - -修改app模块下的build.gradle - -- 添加依赖 - - 将下面的依赖信息添加到build.gradle中 - - ```groovy - dependencies { - implementation fileTree(include: ['*.aar'], dir: './libs') - implementation("androidx.core:core-ktx:1.8.0") - implementation("androidx.recyclerview:recyclerview:1.0.0") - implementation("androidx.appcompat:appcompat:1.0.0") - implementation("androidx.exifinterssface:exifinterface:1.3.6") - implementation("androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar") - implementation("androidx.constraintlayout:constraintlayout:2.1.4") - implementation("com.google.android.material:material:1.4.0") - implementation("androidx.viewpager2:viewpager2:1.1.0-beta02") - implementation("com.alibaba:fastjson:1.2.83") - implementation("com.facebook.fresco:fresco:3.1.3") - implementation("com.facebook.fresco:middleware:3.1.3") - implementation("com.facebook.fresco:animated-gif:3.1.3") - implementation("com.facebook.fresco:webpsupport:3.1.3") - implementation("com.facebook.fresco:animated-webp:3.1.3") - implementation("com.github.bumptech.glide:glide:4.9.0") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.10") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.10") - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1") - implementation("com.squareup.okhttp3:okhttp:3.12.12") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.10") - implementation("com.github.getActivity:XXPermissions:18.0") - } - ``` - -- 添加aaptOptions配置 - - 将aaptOptions配置添加到android节点下 - ```groovy - aaptOptions { - additionalParameters '--auto-add-overlay' - ignoreAssetsPattern '!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~' - } - ``` - -- 配置应用版本号 - - ![](https://web-ext-storage.dcloud.net.cn/native/doc/android/versions.jpg) - - `versionCode`为应用的版本号(整数值),用于各应用市场的升级判断,建议与manifest.json中versionCode值一致 - - `versionName`为应用的版本名称(字符串),在系统应用管理程序中显示的版本号,建议与manifest.json中versionName值一致。 - - `applicationId`为应用的包名,一般设置为反向域名,不建议修改。 - - 按应用市场要求,建议将`targetSdk`设置为30或以上。 - - uni-app x `minSdk`最低支持21,小于21将无法编译通过。 - - `namespace`对应原来的AndroidManifest.xml的`package`字段,如果没有特殊设置,建议与`applicationId`一致。`namespace`字段不能删除。 - -完整的build.gradle可参考: - -```groovy -plugins { - alias(libs.plugins.androidApplication) - alias(libs.plugins.jetbrainsKotlinAndroid) -} - -android { - // namespace 与 applicationId 保持一致 - namespace 'uni.UNIAF21722' - compileSdk 34 - - defaultConfig { - applicationId "uni.UNIAF21722" - minSdk 24 - targetSdk 34 - versionCode 1 - versionName "1.0" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = '1.8' - } - // 一定要加 - aaptOptions { - additionalParameters '--auto-add-overlay' - ignoreAssetsPattern '!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~' - } -} - -dependencies { - implementation fileTree(include: ['*.aar'], dir: './libs') - implementation("androidx.core:core-ktx:1.8.0") - implementation("androidx.recyclerview:recyclerview:1.0.0") - implementation("androidx.appcompat:appcompat:1.0.0") - implementation("androidx.exifinterface:exifinterface:1.3.6") - implementation("androidx.localbroadcastmanager:localbroadcastmanager:1.0.0@aar") - implementation("androidx.constraintlayout:constraintlayout:2.1.4") - implementation("com.google.android.material:material:1.4.0") - implementation("androidx.viewpager2:viewpager2:1.1.0-beta02") - implementation("com.alibaba:fastjson:1.2.83") - implementation("com.facebook.fresco:fresco:3.1.3") - implementation("com.facebook.fresco:middleware:3.1.3") - implementation("com.facebook.fresco:animated-gif:3.1.3") - implementation("com.facebook.fresco:webpsupport:3.1.3") - implementation("com.facebook.fresco:animated-webp:3.1.3") - implementation("com.github.bumptech.glide:glide:4.9.0") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.10") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.10") - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1") - implementation("com.squareup.okhttp3:okhttp:3.12.12") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.10") - implementation("com.github.getActivity:XXPermissions:18.0") -} -``` - -### 修改项目的settings.gradle - -在项目根路径下的settings.gradle中添加`jitpack`的maven的仓库地址,参考如下: - -```groovy -dependencyResolutionManagement { - repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) - repositories { - google() - mavenCentral() - maven { url = uri("https://jitpack.io") } - } -} -``` - -### 修改项目的gradle.properties - -在项目根路径下的gradle.properties中追加如下内容 - -```groovy -android.useAndroidX=true -android.enableJetifier=true -``` - -### 修改AndroidManifest.xml - -- 添加activity - - 首先将原来application节点下的内容全部删除,然后将下面内容拷贝到application节点下 - - ```xml - - - - - - - - - ``` - -- 添加appid - - 在application节点下添加`DCLOUD_UNI_APPID`节点 - ```xml - - ``` -- 合并AndroidManifest.xml - - 如果uni-app x项目下存在AndroidManifest.xml,需要将uni-app x项目下的AndroidManifest.xml中的内容拷贝到android项目下的AndroidManifest.xml中。 - - 注意:拷贝时需要按照xml结构拷贝过去,不能整体覆盖 - -- 修改application - - 将`application`节点的`android:name`修改为`io.dcloud.uniapp.UniApplication` - - **注意:如果需要自定义application,必须继承自UniApplication** - -### Splash配置 - -在`app模块->src->main->res->values`新建`uniappx-splashscreen.xml`文件,将下面内容拷贝到xml文件中。 - -```xml - - - -``` - -在`app模块->src->main->res->values-v31`新建`uniappx-splashscreen.xml`文件,将下面内容拷贝到xml文件中。 - -```xml - - - -``` - -注意:目录不存在的话按照上面说明直接新建即可。 - -Splash字段说明: -- `uniappx_splashscreen`对应的是uni-app x项目的manifest.json的`app->distribute->splashScreens->android`。你需要将不同屏幕密度对应的文件拷贝到对应的drawable目录下。如`xhdpi`对应的是`drawable-xhdpi`目录。如果app模块->src->main->res下不存在`drawable-xhdpi`目录,你需要新建一个同名目录,并将图片重命名为`uniappx_splashscreen`,扩展名不变。 -- `uniappx_splashscreen_background`对应的是uni-app x项目的manifest.json的`app->distribute->splashScreens->android12->background`。你需要替换`@color/uniappx_splashscreen_background`为manifest.json中对应的值。 -- `uniappx_splashscreen_icon`对应的是uni-app x项目的manifest.json的`app->distribute->splashScreens->android12->icon`。你需要将不同屏幕密度对应的文件拷贝到对应的drawable目录下。如`xhdpi`对应的是`drawable-xhdpi`目录。如果app模块->src->main->res下不存在`drawable-xhdpi`目录,你需要新建一个同名目录,并将图片重命名为`uniappx_splashscreen_icon`,扩展名不变。 -- `uniappx_splashscreen_brand`对应的是uni-app x项目的manifest.json的`app->distribute->splashScreens->android12->brand`。你需要将不同屏幕密度对应的文件拷贝到对应的drawable目录下。如`xhdpi`对应的是`drawable-xhdpi`目录。如果app模块->src->main->res下不存在`drawable-xhdpi`目录,你需要新建一个同名目录,并将图片重命名为`uniappx_splashscreen_brand`,扩展名不变。 - -xml文件配置成功之后,修改AndroidManifest.xml中`android:name`为`io.dcloud.uniapp.UniAppActivity`的activity节点的`android:theme`为`@style/UniAppX.Activity.SplashScreenTheme`。 - -各字段对应的说明可以参考[splash启动封面配置文档。](https://doc.dcloud.net.cn/uni-app-x/collocation/manifest-splashscreen.html) - -### 应用图标配置 - -应用图标对应的是uni-app x项目manifest.json中的`app->distribute->icons->android`。你需要根据不同的分辨率将对应的资源拷贝到对应的drawable目录下。 -然后修改AndroidManifest.xml中application节点的`android:icon`属性值为对应图片的名称。如:我将图片命名为`icon.png`,参考下图。 - -![](https://web-ext-storage.dcloud.net.cn/native/doc/android/set_icon.jpg) - -### 应用名称配置 - -应用名称默认定义为`app_name`字段,位于`app->src->main->res->values->strings.xml`。该值为安装到手机上桌面显示的应用名称,建议与manifest.json中name(基础配置中的应用名称)对应。 - -### 拷贝资源文件 -1. [导出uni-app x项目的资源文件](../export/export.md) -2. 将app-android目录下与appid对应的目录拷贝到主项目的`assets/apps`目录下 - - ![](https://web-ext-storage.dcloud.net.cn/native/doc/android/app_assets.png) - - **注意:apps下的appid必须与AndroidManifest.xml的`DCLOUD_UNI_APPID`保持一致。** - -### 拷贝kt文件 -需要将`unkackage/resource/app-android/uniappx/app-android/src/`目录下的所有文件拷贝到项目的`src/main/java`下 - -[图片] - -注意:不要破坏原有src下的目录结构。 - -## 配置uts插件 - -离线打包导出成功之后,uts插件资源位于`unpackage/resource/app-android/uni_modules`下。 - -如果不包含uts插件,可以[跳过](#配置内置模块)此章节。 - -注意:付费uts插件不支持离线打包。 - -为方便区分,`uts插件`指前端封装的uni_modules插件;`android uts插件`指根据编译后的`uts插件`生成的安卓原生模块。 - -### 新建android uts插件模块 - -点击File->New->New Module... - -![](https://web-ext-storage.dcloud.net.cn/native/doc/android/new_modules.png) - -点击左侧`Templates`的`Android Library`。 - -`Language`选择`Kotlin`。 - -`Module name`建议与uts插件模块名称一致。 - -点击`Finish`。 - -*** -注意: -- `Templates`一定要选择`Android Library`。 -- `Language`一定要选择`Kotlin`。 -- `Build configuration language`建议选择`Groovy DSL(build.gradle)`。以下教程均按照此模式进行。 -*** - -### 修改android uts插件模块的build.gradle - -添加依赖 - -```groovy -dependencies { - compileOnly fileTree(include: ['*.aar'], dir: '../app/libs') - compileOnly fileTree(include: ['*.aar'], dir: './libs') - compileOnly "com.alibaba:fastjson:1.2.83" - compileOnly "androidx.core:core-ktx:1.10.1" - compileOnly 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8' - compileOnly 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.8' -} -``` - -+ **注意:uni-app需要添加如下依赖到build.gradle中** - - ```groovy - dependencies { - compileOnly fileTree(include: ['*.aar'], dir: '../app/libs') - compileOnly fileTree(include: ['*.aar'], dir: './libs') - compileOnly 'com.alibaba:fastjson:1.1.46.android' - compileOnly 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.10' - compileOnly 'androidx.core:core-ktx:1.6.0' - compileOnly 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0' - compileOnly 'org.jetbrains.kotlin:kotlin-reflect:1.6.0' - compileOnly 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8' - compileOnly 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.8' - } - ``` - -**** -说明: - -android uts插件模块编译时也要依赖基础库。建议直接使用app项目下的libs目录。参考: - -```groovy -dependencies { - compileOnly fileTree(include: ['*.aar'], dir: '../app/libs') - ... -} -``` - -如果插件依赖其他内置模块,可参考:[模块配置](/docs/uniappxDocs/modules/android/others.md),将模块对应的配置添加到app项目下。 - -如果插件依赖其他uts插件,建议优先将依赖的`uts插件`配置成`android uts插件模块`。然后在当前`android uts插件模块`的build.gradle中添加依赖的插件模块。参考: - -```groovy -dependencies { - implementation project(':uts-依赖的android uts插件模块') - ... -} -``` - -**** - -### 根据config.json配置应用 - -如果不包含config.json文件,可以[跳过](#复制资源)此章节。 - -[config.json配置及参考文档。](../../plugin/uts-plugin.md#androidconfigjson) - -如果config.json中不存在下面示例中的任一字段,直接忽略即可。 - -```json -{ - "abis": [ - "armeabi-v7a","arm64-v8a" - ], - "dependencies": [ - "androidx.core:core-ktx:1.6.0", - { - "id": "com.xxx.richtext:richtext", - "source": "implementation 'com.xxx.richtext:richtext:3.0.7'" - } - ], - "minSdkVersion": 21, - "project": { - "plugins": [ - "com.huawei.agconnect" - ], - "dependencies": [ - "com.huawei.agconnect:agcp:1.6.0.300" - ] - }, - "components": [{"name": "zl-text","class": "uts.sdk.modules.zlText.ZlTextComponent"}], - "hooksClass": "uts.sdk.modules.zlText.ZlTextHook" -} -``` - -**注意:abis、minSdkVersion、dependencies、project在设置android uts插件模块也需要设置到app主模块中。** -- abis - - abis表示插件支持的CPU类型,需要将支持的CPU类型添加到android uts插件模块的build.gradle中,参考上面示例,添加内容如下: - - ```groovy - android { - defaultConfig { - ndk { abiFilters "armeabi-v7a","arm64-v8a" } // 将ndk的内容添加到指定结构下 - } - } - ``` -- minSdkVersion - - minSdkVersion表示最小支持的android版本。修改android uts插件模块的build.gradle中的minSdkVersion即可 - - **注意:部分android studio生成的项目中为minSdk** - -- dependencies - - dependencies为插件依赖的仓储库,需要将dependencies中的依赖添加到android uts插件模块的build.gradle中 - - 对于字符串内容,需要拼接implementation并添加到build.gradle的dependencies下。示例中"androidx.core:core-ktx:1.6.0"可以参考如下内容: - - ```groovy - dependencies { - implementation 'androidx.core:core-ktx:1.6.0' - } - ``` - - 对于JSON内容,只需要将source对应的内容添加到build.gradle的dependencies下。示例中"id": "com.xxx.richtext:richtext"可以参考如下内容: - - ```groovy - dependencies { - implementation 'com.xxx.richtext:richtext:3.0.7' - } - ``` - -- project - - project 为gradle插件的配置。 - - plugins节点下的内容需要添加到android uts插件模块的build.gradle的plugins下。参考: - - ```groovy - plugins { - id 'com.android.application' - id 'com.huawei.agconnect' - } - ``` - - dependencies节点下的内容需要添加到项目根目录下的build.gradle的buildscript > dependencies中。参考: - - ```groovy - buildscript { - dependencies { - classpath 'com.android.tools.build:gradle:7.2.0' - classpath "com.huawei.agconnect:agcp:1.6.0.300" - } - } - allprojects {} - ``` - -- components - - components 为uts组件的注册信息。需要将components对应的内容添加到app主模块的build.gradle。参考配置: - - ```groovy - defaultConfig { - buildConfigField "String", "UTSRegisterComponents", "\"[{\\\"name\\\":\\\"zl-text\\\",\\\"class\\\":\\\"uts.sdk.modules.zlText.ZlTextComponent\\\"}]\"" - } - ``` - - 如果app主模块的build.gradle已经存在UTSRegisterComponents,需要将现有配置与原有配置合并。参考: - - ```groovy - buildConfigField "String", "UTSRegisterComponents", "\"[{\\\"name\\\":\\\"zl-a\\\",\\\"class\\\":\\\"zlA.ZlAComponent\\\"},{\\\"name\\\":\\\"zl-text\\\",\\\"class\\\":\\\"uts.sdk.modules.zlText.ZlTextComponent\\\"}]\"" - ``` - - **注意:转义符不能删掉,格式一定严格一致。** - -- hooksClass - - hooksClass 为uts插件[应用程序生命周期函数监听。](https://doc.dcloud.net.cn/uni-app-x/plugin/uts-plugin.html#android-%E5%B9%B3%E5%8F%B0) - - 需要将hooksClass对应的内容添加到APP模块的build.gradle中。参考配置 - - ```groovy - defaultConfig { - buildConfigField 'String[]', 'UTSHooksClassArray', '{\"uts.sdk.modules.zlText.ZlTextHook\"}' - } - ``` - - 如果app主模块的build.gradle已经存在UTSHooksClassArray,需要将现有配置与原有配置合并。参考: - - ```groovy - defaultConfig { - buildConfigField 'String[]', 'UTSHooksClassArray', '{\"uts.sdk.modules.zlText.ZlTextHook\",\"uts.sdk.modules.zla.ZLAHook\"}' - } - ``` - - **注意:转义符不能删掉,格式一定严格一致。** - -### 复制资源 - -根据uts插件的资源目录,将对应的内容拷贝到android uts插件模块下。 - -**说明:不存在的目录可以不处理。** - -#### libs - -拷贝uts插件libs下的库到android uts插件模块的libs下,并在android uts插件模块的build.gradle下添加依赖。 - -```groovy -dependencies { - ... - compileOnly fileTree(include: ['*.aar','*.jar'], dir: './libs') -} -``` - -**注意:uts插件的本地libs下的依赖同样也需要添加到app模块中。** - -#### assets - -如果存在assets目录,需要将assets文件夹拷贝到`android uts插件模块/src/main/`目录下。 - -#### res - -如果存在res目录,需要将res文件夹拷贝到`android uts插件模块/src/main/`目录下。 - -#### AndroidManifest.xml - -如果存在AndroidManifest.xml文件,需要将AndroidManifest.xml拷贝到`android uts插件模块/src/main/`目录下。 - -注意:如果AndroidManifest.xml中设置了package字段,必须将此字段删除并将package的内容设置到build.gradle的`namespace`和`applicationId`。`namespace`和`applicationId`的内容必须一致,也必须与原AndroidManifest.xml的`package`一致,否则编译会报错。 - -#### src - -将src目录下的所有文件拷贝到`android uts插件模块/src/main/java`目录下。 - -### 添加到主项目 - -将android uts插件模块的依赖添加到主项目的build.gradle的依赖中 -```groovy -dependencies { - ... - implementation project(':uts-progressNotification') -} -``` - -## 配置内置模块 - -根据`unpackage/resource/{appid}/manifest.json`的配置,添加[内置模块的配置](../modules/android/others.md)。 - -以下模块可以忽略配置: -- uni-exit -- uni-getAccessibilityInfo -- uni-getAppAuthorizeSetting -- uni-getAppBaseInfo -- uni-getDeviceInfo -- uni-getSystemInfo -- uni-getSystemSetting -- uni-openAppAuthorizeSetting -- uni-prompt -- uni-storage - -## 运行 - -连接手机,点击按钮,运行即可。 - -![avatar](https://img.cdn.aliyun.dcloud.net.cn/nativedocs/5%2BSDK-android/image/7-6.png) \ No newline at end of file diff --git a/docs/plugin/uts-for-android.md b/docs/plugin/uts-for-android.md index 820e1cf73217536c915df5d7a155c696ca404774..4513ef5a1d7435ee7acebfd8d6cb941226baa3e4 100644 --- a/docs/plugin/uts-for-android.md +++ b/docs/plugin/uts-for-android.md @@ -324,7 +324,7 @@ implementation 'androidx.recyclerview:recyclerview:1.0.0' ``` -#### uni-app +#### uni-app ```gradle implementation 'com.github.bumptech.glide:glide:4.9.0' @@ -944,7 +944,7 @@ function getAppName(context : Context) : string { } ``` -### 6.6 泛型传递丢失的问题 +### 6.6 泛型传递丢失的问题 @lost-generics 如果在UTS中声明一个包含泛型声明的方法,可能会出现泛型丢失,原因是因为普通的kotlin 方法没有实现泛型的传递 @@ -1006,4 +1006,3 @@ console.log(getClassByInstance); UTS插件本地调试尚不支持直接使用so文件,需要将so文件和调用代码封装为AAR 或者分别集成 so和jar文件 AAR调用示例参考:[hello uts](https://gitcode.net/dcloud/hello-uts/-/tree/master/uni_modules/uts-toast) - diff --git a/docs/uts/operator.md b/docs/uts/operator.md index 2374785815312f8c8ef0c7e2c069e602e36ec3a0..f5452f2c66b4964dd0cdd92333094c2b4f23211d 100644 --- a/docs/uts/operator.md +++ b/docs/uts/operator.md @@ -23,8 +23,8 @@ | ----------------------------------- | ------------------------------------------- | ---------------- | | 等于 Equal (==) | 如果两边操作数相等时返回 true。 | var1==var2 | | 不等于 Not equal (!=) | 如果两边操作数不相等时返回 true | var1!=var2 | -| 引用相等 Reference equal (===) | 比较对象类型时,两边操作数指向同一个对象返回 true。比较基础类型时各平台有差异,[详情](#completeComparison)。 | var1===var2 | -| 引用不等 Reference not equal (!==) | 比较对象类型时,两边操作数不指向同一个对象时返回 true。比较基础类型时各平台有差异,[详情](#completeComparison)。 | var1!==var2 | +| 引用相等 Reference equal (===) | 比较对象类型时,两边操作数指向同一个对象返回 true。比较基础类型时各平台有差异,[详情](#completecomparison)。 | var1===var2 | +| 引用不等 Reference not equal (!==) | 比较对象类型时,两边操作数不指向同一个对象时返回 true。比较基础类型时各平台有差异,[详情](#completecomparison)。 | var1!==var2 | | 大于 Greater than (>) | 左边的操作数大于右边的操作数返回 true | var1>var2 | | 大于等于 Greater than or equal (>=) | 左边的操作数大于或等于右边的操作数返回 true | var1>=var2 | | 小于 Less than (<) | 左边的操作数小于右边的操作数返回 true | var1= 18 ? "adult" : "minor"; - `>>=` * 右移赋值运算符 (>>=) 将变量向右移动指定数量的位,并将结果赋值给变量。 - `===` - * 当两边操作数指向同一个对象时,引用相等 (===) 运算符返回true。不同平台有差距,[见下](#completeComparison) + * 当两边操作数指向同一个对象时,引用相等 (===) 运算符返回true。不同平台有差距,[见下](#completecomparison) - `!==` * 当两边操作数不指向同一个对象时,引用不等 (!==) 运算符返回true。 - `-` @@ -258,7 +258,7 @@ uts 中比较运算符在大部分场景下和 ts 中的行为一致,但是在 | 不同的专有类型变量比较 | let a: Int = 1; let b: Float = 3.14.toFloat(); a > b | 结果为false |编译失败,不同类型变量不能比较 | -### 比较运算符 == != === !==@completeComparison +### 比较运算符 == != === !==@completecomparison | 场景 | 示例 | Kottlin 结果 | Swift 结果 | @@ -387,7 +387,7 @@ let n:number = Number.from(d) // 正确 let n:number = d as number // 错误 ``` -> 虽然在某些情况下使用 as 转换也可以正常工作,但为了保证各平台兼容性推荐使用上述方法转换 +> 虽然在某些情况下使用 as 转换也可以正常工作,但为了保证各平台兼容性推荐使用上述方法转换 只允许将类型as为具体或更不具体的类型,不能强制转换两个不可能兼容的类型: