# Class (RoundRect)
> **说明:**
>
> - 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> - 本Class首批接口从API version 12开始支持。
>
> - 本模块使用屏幕物理像素单位px。
>
> - 本模块为单线程模型策略,需要调用方自行管理线程安全和上下文状态的切换。
圆角矩形对象。
## 导入模块
```ts
import { drawing } from '@kit.ArkGraphics2D';
```
## constructor20+
constructor(roundRect: RoundRect)
拷贝一个圆角矩形。
**系统能力:** SystemCapability.Graphics.Drawing
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------------------- | ---- | ------------------- |
| roundRect | [RoundRect](arkts-apis-graphics-drawing-RoundRect.md) | 是 | 用于拷贝的圆角矩形。 |
**示例:**
```ts
import { common2D, drawing } from '@kit.ArkGraphics2D';
let rect: common2D.Rect = {left : 100, top : 100, right : 500, bottom : 300};
let roundRect = new drawing.RoundRect(rect, 50, 50);
let roundRect2 = new drawing.RoundRect(roundRect);
```
## constructor12+
constructor(rect: common2D.Rect, xRadii: number, yRadii: number)
构造一个圆角矩形对象,当且仅当xRadii和yRadii均大于0时,圆角生效,否则只会构造一个矩形。
**系统能力:** SystemCapability.Graphics.Drawing
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------------------- | ---- | ------------------- |
| rect | [common2D.Rect](js-apis-graphics-common2D.md#rect) | 是 | 需要创建的圆角矩形区域。 |
| xRadii | number | 是 | X轴上的圆角半径,该参数为浮点数,小于等于0时无效。 |
| yRadii | number | 是 | Y轴上的圆角半径,该参数为浮点数,小于等于0时无效。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types. |
**示例:**
```ts
import { common2D, drawing } from '@kit.ArkGraphics2D';
let rect: common2D.Rect = {left : 100, top : 100, right : 500, bottom : 300};
let roundRect = new drawing.RoundRect(rect, 50, 50);
```
## setCorner12+
setCorner(pos: CornerPos, x: number, y: number): void
设置圆角矩形中指定圆角位置的圆角半径。
**系统能力:** SystemCapability.Graphics.Drawing
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ------------------------------- |
| pos | [CornerPos](arkts-apis-graphics-drawing-e.md#cornerpos12) | 是 | 圆角位置。 |
| x | number | 是 | x轴方向的圆角半径,该参数为浮点数,小于等于0时无效。 |
| y | number | 是 | y轴方向的圆角半径,该参数为浮点数,小于等于0时无效。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types;3.Parameter verification failed. |
**示例:**
```ts
import { drawing } from '@kit.ArkGraphics2D';
let roundRect : drawing.RoundRect = new drawing.RoundRect({left: 0, top: 0, right: 300, bottom: 300}, 50, 50);
roundRect.setCorner(drawing.CornerPos.TOP_LEFT_POS, 150, 150);
```
## getCorner12+
getCorner(pos: CornerPos): common2D.Point
获取圆角矩形中指定圆角位置的圆角半径。
**系统能力:** SystemCapability.Graphics.Drawing
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ------------------------------- |
| pos | [CornerPos](arkts-apis-graphics-drawing-e.md#cornerpos12) | 是 | 圆角位置。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | -------------- |
| [common2D.Point](js-apis-graphics-common2D.md#point12) | 返回一个点,其横坐标表示圆角x轴方向上的半径,纵坐标表示y轴方向上的半径。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types;3.Parameter verification failed. |
**示例:**
```ts
import { drawing } from '@kit.ArkGraphics2D';
let roundRect : drawing.RoundRect = new drawing.RoundRect({left: 0, top: 0, right: 300, bottom: 300}, 50, 50);
let cornerRadius = roundRect.getCorner(drawing.CornerPos.BOTTOM_LEFT_POS);
console.info("getCorner---"+cornerRadius.x)
console.info("getCorner---"+cornerRadius.y)
```
## offset12+
offset(dx: number, dy: number): void
将圆角矩形分别沿x轴方向和y轴方向平移dx,dy。
**系统能力:** SystemCapability.Graphics.Drawing
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ------------------------------- |
| dx | number | 是 | 表示x轴方向上的偏移量。正数表示向x轴正方向平移,负数表示向x轴负方向平移,该参数为浮点数。 |
| dy | number | 是 | 表示y轴方向上的偏移量。正数表示向y轴正方向平移,负数表示向y轴负方向平移,该参数为浮点数。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types. |
**示例:**
```ts
import { drawing } from '@kit.ArkGraphics2D';
let roundRect : drawing.RoundRect = new drawing.RoundRect({left: 0, top: 0, right: 300, bottom: 300}, 50, 50);
roundRect.offset(100, 100);
```