# Graphics 自定义节点相关属性定义的详细信息。 > **说明:** > > 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```ts import { DrawContext, Size, Offset, Position, Pivot, Scale, Translation, Matrix4, Rotation, Frame, LengthMetricsUnit } from "@kit.ArkUI"; ``` ## Size 用于返回组件布局大小的宽和高。默认单位为vp,不同的接口使用Size类型时会再定义单位,以接口定义的单位为准。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 可读 | 可写 | 说明 | | ------ | ------ | ---- | ---- | ---------------------- | | width | number | 是 | 是 | 组件大小的宽度。
单位:vp | | height | number | 是 | 是 | 组件大小的高度。
单位:vp | ## Position type Position = Vector2 用于设置或返回组件的位置。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------- | ----------------------------------- | | [Vector2](#vector2) | 包含x和y两个值的向量。
单位:vp | ## PositionT12+ type PositionT\ = Vector2T\ 用于设置或返回组件的位置。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ---------------------------- | ----------------------------------- | | [Vector2T\](#vector2tt12) | 包含x和y两个值的向量。
单位:vp | ## Frame 用于设置或返回组件的布局大小和位置。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------ | ------ | ---- | ---- | --------------------------- | | x | number | 是 | 是 | 水平方向位置。
单位:vp | | y | number | 是 | 是 | 垂直方向位置。
单位:vp | | width | number | 是 | 是 | 组件的宽度。
单位:vp | | height | number | 是 | 是 | 组件的高度。
单位:vp | ## Pivot type Pivot = Vector2 用于设置组件的轴心坐标,轴心会作为组件的旋转/缩放中心点,影响旋转和缩放效果。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------- | ------------------------------------------------------------ | | [Vector2](#vector2) | 轴心的x和y轴坐标。该参数为浮点数,默认值为0.5, 取值范围为[0.0, 1.0]。 | ## Scale type Scale = Vector2 用于设置组件的缩放比例。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------- | ----------------------------------------------- | | [Vector2](#vector2) | x和y轴的缩放参数。该参数为浮点数,默认值为1.0。 | ## Translation type Translation = Vector2 用于设置组件的平移量。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------- | ----------------------------- | | [Vector2](#vector2) | x和y轴的平移量。
单位:px | ## Rotation type Rotation = Vector3 用于设置组件的旋转角度。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------- | -------------------------------------- | | [Vector3](#vector3) | x、y、z轴方向的旋转角度。
单位:vp | ## Offset type Offset = Vector2 用于设置组件或效果的偏移。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------- | --------------------------------- | | [Vector2](#vector2) | x和y轴方向的偏移量。
单位:vp | ## Matrix4 type Matrix4 = [number,number,number,number,number,number,number,number,number,number,number,number,number,number,number,number] 设置四阶矩阵。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------------------------------------------------ | ------------------------------------ | | [number,number,number,number,
number,number,number,number,
number,number,number,number,
number,number,number,number] | 参数为长度为16(4\*4)的number数组。 | 用于设置组件的变换信息,该类型为一个 4x4 矩阵,使用一个长度为16的`number[]`进行表示,例如: ```ts const transform: Matrix4 = [ 1, 0, 45, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ] ``` **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ## Vector2 用于表示包含x和y两个值的向量。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ---- | ------ | ---- | ---- | ----------------- | | x | number | 否 | 否 | 向量x轴方向的值。 | | y | number | 否 | 否 | 向量y轴方向的值。 | ## Vector3 用于表示包含x、y、z三个值的向量。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ---- | ------ | ---- | ---- | ------------------- | | x | number | 否 | 否 | x轴方向的旋转角度。 | | y | number | 否 | 否 | y轴方向的旋转角度。 | | z | number | 否 | 否 | z轴方向的旋转角度。 | ## Vector2T\12+ 用于表示T类型的包含x和y两个值的向量。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ---- | ------ | ---- | ---- | ----------------- | | x | T | 否 | 否 | 向量x轴方向的值。 | | y | T | 否 | 否 | 向量y轴方向的值。 | ## DrawContext 图形绘制上下文,提供绘制所需的画布宽度和高度。 ### size get size(): Size 获取画布的宽度和高度。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [Size](#size) | 画布的宽度和高度。 | ### sizeInPixel12+ get sizeInPixel(): Size 获取以px为单位的画布的宽度和高度。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [Size](#size) | 画布的宽度和高度,以px为单位。 | ### canvas get canvas(): drawing.Canvas 获取用于绘制的画布。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [drawing.Canvas](../apis-arkgraphics2d/js-apis-graphics-drawing.md#canvas) | 用于绘制的画布。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, DrawContext } from "@kit.ArkUI"; class MyRenderNode extends RenderNode { flag: boolean = false; draw(context: DrawContext) { const size = context.size; const canvas = context.canvas; const sizeInPixel = context.sizeInPixel; } } const renderNode = new MyRenderNode(); renderNode.frame = { x: 0, y: 0, width: 100, height: 100 }; renderNode.backgroundColor = 0xffff0000; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ## Edges\12+ 用于设置边框的属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 可读 | 可写 | 说明 | | ------ | ---- | ---- | ---- | ---------------- | | left | T | 是 | 是 | 左侧边框的属性。 | | top | T | 是 | 是 | 顶部边框的属性。 | | right | T | 是 | 是 | 右侧边框的属性。 | | bottom | T | 是 | 是 | 底部边框的属性。 | ## LengthUnit12+ 长度属性单位枚举。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | -------- | -------- | -------- | | [PX](arkui-ts/ts-types.md#px10) | 0 | 长度类型,用于描述以px像素单位为单位的长度。 | | [VP](arkui-ts/ts-types.md#vp10) | 1 | 长度类型,用于描述以vp像素单位为单位的长度。 | | [FP](arkui-ts/ts-types.md#fp10) | 2 | 长度类型,用于描述以fp像素单位为单位的长度。 | | [PERCENT](arkui-ts/ts-types.md#percentage10) | 3 | 长度类型,用于描述以%像素单位为单位的长度。 | | [LPX](arkui-ts/ts-types.md#lpx10) | 4 | 长度类型,用于描述以lpx像素单位为单位的长度。 | ## SizeT\12+ 用于设置宽高的属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 可读 | 可写 | 说明 | | ------ | ---- | ---- | ---- | ---------------- | | width | T | 是 | 是 | 宽度的属性。 | | height | T | 是 | 是 | 高度的属性。 | ## LengthMetricsUnit12+ 长度属性单位枚举。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | -------- | -------- | -------- | | DEFAULT | 0 | 长度类型,用于描述以默认的vp像素单位为单位的长度。 | | PX | 1 | 长度类型,用于描述以px像素单位为单位的长度。 | ## LengthMetrics12+ 用于设置长度属性,当长度单位为[PERCENT](arkui-ts/ts-types.md#percentage10)时,值为1表示100%。 ### 属性 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 可读 | 可写 | 说明 | | ------------ | ---------------------------------------- | ---- | ---- | ------ | | value | number | 是 | 是 | 长度属性的值。 | | unit | [LengthUnit](#lengthunit12) | 是 | 是 | 长度属性的单位,默认为VP。| ### constructor12+ constructor(value: number, unit?: LengthUnit) LengthMetrics的构造函数。若参数unit不传入值或传入undefined,返回值使用默认单位VP;若unit传入非LengthUnit类型的值,返回默认值0VP。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | value | number | 是 | 长度属性的值。 | | unit | [LengthUnit](#lengthunit12) | 否 | 长度属性的单位。 | ### px12+ static px(value: number): LengthMetrics 用于生成单位为PX的长度属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | value | number | 是 | 长度属性的值。 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [LengthMetrics](#lengthmetrics12) | LengthMetrics 类的实例。 | ### vp12+ static vp(value: number): LengthMetrics 用于生成单位为VP的长度属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | value | number | 是 | 长度属性的值。 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [LengthMetrics](#lengthmetrics12) | LengthMetrics 类的实例。 | ### fp12+ static fp(value: number): LengthMetrics 用于生成单位为FP的长度属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | value | number | 是 | 长度属性的值。 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [LengthMetrics](#lengthmetrics12) | LengthMetrics 类的实例。 | ### percent12+ static percent(value: number): LengthMetrics 用于生成单位为PERCENT的长度属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | value | number | 是 | 长度属性的值。 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [LengthMetrics](#lengthmetrics12) | LengthMetrics 类的实例。 | ### lpx12+ static lpx(value: number): LengthMetrics 用于生成单位为LPX的长度属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | value | number | 是 | 长度属性的值。 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [LengthMetrics](#lengthmetrics12) | LengthMetrics 类的实例。 | ### resource12+ static resource(value: Resource): LengthMetrics 用于生成Resource类型资源的长度属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | value | Resource | 是 | 长度属性的值。 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [LengthMetrics](#lengthmetrics12) | LengthMetrics 类的实例。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[系统资源错误码](errorcode-system-resource.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------ | | 180001 | System resources does not exist. | | 180002 | The type of system resources is incorrect. | ## ColorMetrics12+ 用于混合颜色。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### numeric12+ static numeric(value: number): ColorMetrics 使用HEX格式颜色实例化 ColorMetrics 类。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | value | number | 是 | HEX格式颜色,支持rgb或者argb。 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [ColorMetrics](#colormetrics12) | ColorMetrics 类的实例。 | ### rgba12+ static rgba(red: number, green: number, blue: number, alpha?: number): ColorMetrics 使用rgb或者rgba格式颜色实例化 ColorMetrics 类。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | red | number | 是 | 颜色的R分量(红色),值是0~255的整数。 | | green | number | 是 | 颜色的G分量(绿色),值是0~255的整数。 | | blue | number | 是 | 颜色的B分量(蓝色),值是0~255的整数。 | | alpha | number | 否 | 颜色的A分量(透明度),值是0~1.0的浮点数。 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [ColorMetrics](#colormetrics12) | ColorMetrics 类的实例。 | ### resourceColor12+ static resourceColor(color: ResourceColor): ColorMetrics 使用资源格式颜色实例化 ColorMetrics 类。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | color | [ResourceColor](arkui-ts/ts-types.md#resourcecolor) | 是 | 资源格式颜色 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [ColorMetrics](#colormetrics12) | ColorMetrics 类的实例。 | **错误码**: 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[系统资源错误码](errorcode-system-resource.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | | 401 | Parameter error. Possible cause:1.The type of the input color parameter is not ResourceColor;2.The format of the input color string is not RGB or RGBA. | | 180003 | Failed to obtain the color resource. | ### blendColor12+ blendColor(overlayColor: ColorMetrics): ColorMetrics 颜色混合。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | overlayColor | [ColorMetrics](#colormetrics12) | 是 | 叠加颜色的 ColorMetrics 类的实例 | **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | [ColorMetrics](#colormetrics12) | 混合后的ColorMetrics 类的实例。 | **错误码**: 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | | 401 | Parameter error. The type of the input parameter is not ColorMetrics. | ### color12+ get color(): string 获取ColorMetrics的颜色,返回的是rgba字符串的格式。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | string | rgba字符串格式的颜色。 示例:'rgba(255, 100, 255, 0.5)'| ### red12+ get red(): number 获取ColorMetrics颜色的R分量(红色)。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | number | 颜色的R分量(红色),值是0~255的整数。| ### green12+ get green(): number 获取ColorMetrics颜色的G分量(绿色)。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | number | 颜色的G分量(绿色),值是0~255的整数。| ### blue12+ get blue(): number 获取ColorMetrics颜色的B分量(蓝色)。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | number | 颜色的B分量(蓝色),值是0~255的整数。| ### alpha12+ get alpha(): number 获取ColorMetrics颜色的A分量(透明度)。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------------- | ---------------- | | number | 颜色的A分量(透明度),值是0~255的整数。| **示例:** ```ts import { ColorMetrics } from '@kit.ArkUI'; import { BusinessError } from '@kit.BasicServicesKit'; function getBlendColor(baseColor: ResourceColor):ColorMetrics { let sourceColor:ColorMetrics; try { //在使用ColorMetrics的resourceColor和blendColor需要追加捕获异常处理 //可能返回的arkui子系统错误码有401和180003 sourceColor = ColorMetrics.resourceColor(baseColor).blendColor(ColorMetrics.resourceColor("#19000000")); } catch (error) { console.log("getBlendColor failed, code = " + (error as BusinessError).code + ", message = " + (error as BusinessError).message); sourceColor = ColorMetrics.resourceColor("#19000000"); } return sourceColor; } @Entry @Component struct ColorMetricsSample { build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Button("ColorMetrics") .width('80%') .align(Alignment.Center) .height(50) .backgroundColor(getBlendColor($r("app.color.background_red")).color) } .width('100%') .height('100%') } } ``` ## Corners\12+ 用于设置四个角的圆角度数。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 可读 | 可写 | 说明 | | ----------- | ---- | ---- | ---- | ---------------------- | | topLeft | T | 是 | 是 | 左上边框的圆角属性。 | | topRight | T | 是 | 是 | 右上上边框的圆角属性。 | | bottomLeft | T | 是 | 是 | 左下边框的圆角属性。 | | bottomRight | T | 是 | 是 | 右下边框的圆角属性。 | ## CornerRadius12+ type CornerRadius = Corners\ 设置四个角的圆角度数。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | -------------------------------------------- | ------------------ | | [Corners](#cornerst12)[\](#vector2) | 四个角的圆角度数。 | ## BorderRadiuses12+ type BorderRadiuses = Corners\ 设置四个角的圆角度数。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------------------- | ------------------ | | [Corners\](#cornerst12) | 四个角的圆角度数。 | ## Rect12+ type Rect = common2D.Rect 用于设置矩形的形状。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | ------------------------------------------------------------ | ---------- | | [common2D.Rect](../apis-arkgraphics2d/js-apis-graphics-common2D.md#rect) | 矩形区域。 | ## RoundRect12+ 用于设置带有圆角的矩形。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 可读 | 可写 | 说明 | | ------- | ----------------------------- | ---- | ---- | ---------------- | | rect | [Rect](#rect12) | 是 | 是 | 设置矩形的属性。 | | corners | [CornerRadius](#cornerradius12) | 是 | 是 | 设置圆角的属性。 | ## Circle12+ 用于设置圆形的属性。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 可读 | 可写 | 说明 | | ------- | ------ | ---- | ---- | ------------------------- | | centerX | number | 是 | 是 | 圆心x轴的位置,单位为px。 | | centerY | number | 是 | 是 | 圆心y轴的位置,单位为px。 | | radius | number | 是 | 是 | 圆形的半径,单位为px。 | ## CommandPath12+ 用于设置路径绘制的指令。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 可读 | 可写 | 说明 | | ------------------------------------------------------------ | ------ | ---- | ---- | ------------------------------------------------------------ | | [commands](./arkui-ts/ts-drawing-components-path.md#commands-1) | string | 是 | 是 | 路径绘制的指令字符串。像素单位的转换方法请参考[像素单位转换](./arkui-ts/ts-pixel-units.md#像素单位转换)。
单位:px | ## ShapeMask12+ 用于设置图形遮罩。 ### constructor12+ constructor() ShapeMask的构造函数。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### setRectShape12+ setRectShape(rect: Rect): void 用于设置矩形遮罩。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | rect | [Rect](#rect12) | 是 | 矩形的形状。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeMask } from '@kit.ArkUI'; const mask = new ShapeMask(); mask.setRectShape({ left: 0, right: vp2px(150), top: 0, bottom: vp2px(150) }); mask.fillColor = 0X55FF0000; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeMask = mask; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ### setRoundRectShape12+ setRoundRectShape(roundRect: RoundRect): void 用于设置圆角矩形遮罩。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------- | ----------------------- | ---- | ---------------- | | roundRect | [RoundRect](#roundrect12) | 是 | 圆角矩形的形状。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeMask,RoundRect} from '@kit.ArkUI'; const mask = new ShapeMask(); const roundRect: RoundRect = { rect: { left: 0, top: 0, right: vp2px(150), bottom: vp2px(150) }, corners: { topLeft: { x: 32, y: 32 }, topRight: { x: 32, y: 32 }, bottomLeft: { x: 32, y: 32 }, bottomRight: { x: 32, y: 32 } } } mask.setRoundRectShape(roundRect); mask.fillColor = 0X55FF0000; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeMask = mask; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ### setCircleShape12+ setCircleShape(circle: Circle): void 用于设置圆形遮罩。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ----------------- | ---- | ------------ | | circle | [Circle](#circle12) | 是 | 圆形的形状。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeMask } from '@kit.ArkUI'; const mask = new ShapeMask(); mask.setCircleShape({ centerY: vp2px(75), centerX: vp2px(75), radius: vp2px(75) }); mask.fillColor = 0X55FF0000; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeMask = mask; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ### setOvalShape12+ setOvalShape(oval: Rect): void 用于设置椭圆形遮罩。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | -------------- | | oval | [Rect](#rect12) | 是 | 椭圆形的形状。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeMask } from '@kit.ArkUI'; const mask = new ShapeMask(); mask.setOvalShape({ left: 0, right: vp2px(150), top: 0, bottom: vp2px(100) }); mask.fillColor = 0X55FF0000; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeMask = mask; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ### setCommandPath12+ setCommandPath(path: CommandPath): void 用于设置路径绘制指令。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | --------------------------- | ---- | -------------- | | path | [CommandPath](#commandpath12) | 是 | 路径绘制指令。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeMask } from '@kit.ArkUI'; const mask = new ShapeMask(); mask.setCommandPath({ commands: "M100 0 L0 100 L50 200 L150 200 L200 100 Z" }); mask.fillColor = 0X55FF0000; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeMask = mask; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ### fillColor12+ fillColor: number 遮罩的填充颜色,使用ARGB格式。默认值为`0XFF000000`。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeMask } from '@kit.ArkUI'; const mask = new ShapeMask(); mask.setRectShape({ left: 0, right: 150, top: 0, bottom: 150 }); mask.fillColor = 0X55FF0000; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeMask = mask; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ### strokeColor12+ strokeColor: number 遮罩的边框颜色,使用ARGB格式。默认值为`0XFF000000`。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeMask } from '@kit.ArkUI'; const mask = new ShapeMask(); mask.setRectShape({ left: 0, right: 150, top: 0, bottom: 150 }); mask.strokeColor = 0XFFFF0000; mask.strokeWidth = 24; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeMask = mask; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ### strokeWidth12+ strokeWidth: number 遮罩的边框宽度,单位为px。默认值为0。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeMask } from '@kit.ArkUI'; const mask = new ShapeMask(); mask.setRectShape({ left: 0, right: 150, top: 0, bottom: 150 }); mask.strokeColor = 0XFFFF0000; mask.strokeWidth = 24; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeMask = mask; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ## ShapeClip12+ 用于设置图形裁剪。 ### constructor12+ constructor() ShapeClip的构造函数。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 ### setRectShape12+ setRectShape(rect: Rect): void 用于裁剪矩形。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | ------------ | | rect | [Rect](#rect12) | 是 | 矩形的形状。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeClip } from '@kit.ArkUI'; const clip = new ShapeClip(); clip.setCommandPath({ commands: "M100 0 L0 100 L50 200 L150 200 L200 100 Z" }); const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeClip = clip; const shapeClip = renderNode.shapeClip; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Column() { NodeContainer(this.myNodeController) .borderWidth(1) Button("setRectShape") .onClick(() => { shapeClip.setRectShape({ left: 0, right: 150, top: 0, bottom: 150 }); renderNode.shapeClip = shapeClip; }) } } } ``` ### setRoundRectShape12+ setRoundRectShape(roundRect: RoundRect): void 用于裁剪圆角矩形。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------- | ----------------------- | ---- | ---------------- | | roundRect | [RoundRect](#roundrect12) | 是 | 圆角矩形的形状。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeClip } from '@kit.ArkUI'; const clip = new ShapeClip(); clip.setCommandPath({ commands: "M100 0 L0 100 L50 200 L150 200 L200 100 Z" }); const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeClip = clip; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Column() { NodeContainer(this.myNodeController) .borderWidth(1) Button("setRoundRectShape") .onClick(() => { renderNode.shapeClip.setRoundRectShape({ rect: { left: 0, top: 0, right: vp2px(150), bottom: vp2px(150) }, corners: { topLeft: { x: 32, y: 32 }, topRight: { x: 32, y: 32 }, bottomLeft: { x: 32, y: 32 }, bottomRight: { x: 32, y: 32 } } }); renderNode.shapeClip = renderNode.shapeClip; }) } } } ``` ### setCircleShape12+ setCircleShape(circle: Circle): void 用于裁剪圆形。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ----------------- | ---- | ------------ | | circle | [Circle](#circle12) | 是 | 圆形的形状。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeClip } from '@kit.ArkUI'; const clip = new ShapeClip(); clip.setCommandPath({ commands: "M100 0 L0 100 L50 200 L150 200 L200 100 Z" }); const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeClip = clip; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Column() { NodeContainer(this.myNodeController) .borderWidth(1) Button("setCircleShape") .onClick(() => { renderNode.shapeClip.setCircleShape({ centerY: 75, centerX: 75, radius: 75 }); renderNode.shapeClip = renderNode.shapeClip; }) } } } ``` ### setOvalShape12+ setOvalShape(oval: Rect): void 用于裁剪椭圆形。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------- | ---- | -------------- | | oval | [Rect](#rect12) | 是 | 椭圆形的形状。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeClip } from '@kit.ArkUI'; const clip = new ShapeClip(); clip.setCommandPath({ commands: "M100 0 L0 100 L50 200 L150 200 L200 100 Z" }); const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeClip = clip; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Column() { NodeContainer(this.myNodeController) .borderWidth(1) Button("setOvalShape") .onClick(() => { renderNode.shapeClip.setOvalShape({ left: 0, right: vp2px(150), top: 0, bottom: vp2px(100) }); renderNode.shapeClip = renderNode.shapeClip; }) } } } ``` ### setCommandPath12+ setCommandPath(path: CommandPath): void 用于裁剪路径绘制指令。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | --------------------------- | ---- | -------------- | | path | [CommandPath](#commandpath12) | 是 | 路径绘制指令。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, ShapeClip } from '@kit.ArkUI'; const clip = new ShapeClip(); clip.setCommandPath({ commands: "M100 0 L0 100 L50 200 L150 200 L200 100 Z" }); const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.shapeClip = clip; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Column() { NodeContainer(this.myNodeController) .borderWidth(1) Button("setCommandPath") .onClick(()=>{ renderNode.shapeClip.setCommandPath({ commands: "M100 0 L0 100 L50 200 L150 200 L200 100 Z" }); renderNode.shapeClip = renderNode.shapeClip; }) } } } ``` ## edgeColors12+ edgeColors(all: number): Edges\ 用于生成边框颜色均设置为传入值的边框颜色对象。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------- | | all | number | 是 | 边框颜色,ARGB格式。 | **返回值:** | 类型 | 说明 | | ------------------------ | -------------------------------------- | | [Edges\](#edgest12) | 边框颜色均设置为传入值的边框颜色对象。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, edgeColors } from '@kit.ArkUI'; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.borderWidth = { left: 8, top: 8, right: 8, bottom: 8 }; renderNode.borderColor = edgeColors(0xFF0000FF); class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ## edgeWidths12+ edgeWidths(all: number): Edges\ 用于生成边框宽度均设置为传入值的边框宽度对象。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------- | | all | number | 是 | 边框宽度,单位为vp。 | **返回值:** | 类型 | 说明 | | ------------------------ | -------------------------------------- | | [Edges\](#edgest12) | 边框宽度均设置为传入值的边框宽度对象。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, edgeWidths } from '@kit.ArkUI'; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.borderWidth = edgeWidths(8); renderNode.borderColor = { left: 0xFF0000FF, top: 0xFF0000FF, right: 0xFF0000FF, bottom: 0xFF0000FF }; class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ## borderStyles12+ borderStyles(all: BorderStyle): Edges\ 用于生成边框样式均设置为传入值的边框样式对象。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------------------------------------------------------- | ---- | ---------- | | all | [BorderStyle](./arkui-ts/ts-appendix-enums.md#borderstyle) | 是 | 边框样式。 | **返回值:** | 类型 | 说明 | | --------------------------------------------------------------------------- | -------------------------------------- | | [Edges](#edgest12)<[BorderStyle](./arkui-ts/ts-appendix-enums.md#borderstyle)> | 边框样式均设置为传入值的边框样式对象。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, borderStyles } from '@kit.ArkUI'; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.borderWidth = { left: 8, top: 8, right: 8, bottom: 8 }; renderNode.borderColor = { left: 0xFF0000FF, top: 0xFF0000FF, right: 0xFF0000FF, bottom: 0xFF0000FF }; renderNode.borderStyle = borderStyles(BorderStyle.Dotted); class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ``` ## borderRadiuses12+ borderRadiuses(all: number): BorderRadiuses 用于生成边框圆角均设置为传入值的边框圆角对象。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ---------- | | all | number | 是 | 边框圆角。 | **返回值:** | 类型 | 说明 | | --------------------------------- | -------------------------------------- | | [BorderRadiuses](#borderradiuses12) | 边框圆角均设置为传入值的边框圆角对象。 | **示例:** ```ts import { RenderNode, FrameNode, NodeController, borderRadiuses } from '@kit.ArkUI'; const renderNode = new RenderNode(); renderNode.frame = { x: 0, y: 0, width: 150, height: 150 }; renderNode.backgroundColor = 0XFF00FF00; renderNode.borderRadius = borderRadiuses(32); class MyNodeController extends NodeController { private rootNode: FrameNode | null = null; makeNode(uiContext: UIContext): FrameNode | null { this.rootNode = new FrameNode(uiContext); const rootRenderNode = this.rootNode.getRenderNode(); if (rootRenderNode !== null) { rootRenderNode.appendChild(renderNode); } return this.rootNode; } } @Entry @Component struct Index { private myNodeController: MyNodeController = new MyNodeController(); build() { Row() { NodeContainer(this.myNodeController) } } } ```