• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Class (RoundRect)
2
3<!--Kit: ArkGraphics 2D-->
4<!--Subsystem: Graphics-->
5<!--Owner: @hangmengxin-->
6<!--Designer: @wangyanglan-->
7<!--Tester: @nobuggers-->
8<!--Adviser: @ge-yafang-->
9
10> **说明:**
11>
12> - 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
13>
14> - 本Class首批接口从API version 12开始支持。
15>
16> - 本模块使用屏幕物理像素单位px。
17>
18> - 本模块为单线程模型策略,需要调用方自行管理线程安全和上下文状态的切换。
19
20圆角矩形对象。
21
22## 导入模块
23
24```ts
25import { drawing } from '@kit.ArkGraphics2D';
26```
27
28## constructor<sup>20+</sup>
29
30constructor(roundRect: RoundRect)
31
32拷贝一个圆角矩形。
33
34**系统能力:** SystemCapability.Graphics.Drawing
35
36**参数:**
37
38| 参数名         | 类型                                       | 必填   | 说明                  |
39| ----------- | ---------------------------------------- | ---- | ------------------- |
40| roundRect        | [RoundRect](arkts-apis-graphics-drawing-RoundRect.md) | 是    |  用于拷贝的圆角矩形。   |
41
42**示例:**
43
44```ts
45import { common2D, drawing } from '@kit.ArkGraphics2D';
46
47let rect: common2D.Rect = {left : 100, top : 100, right : 500, bottom : 300};
48let roundRect = new drawing.RoundRect(rect, 50, 50);
49let roundRect2 = new drawing.RoundRect(roundRect);
50```
51
52## constructor<sup>12+</sup>
53
54constructor(rect: common2D.Rect, xRadii: number, yRadii: number)
55
56构造一个圆角矩形对象,当且仅当xRadii和yRadii均大于0时,圆角生效,否则只会构造一个矩形。
57
58**系统能力:** SystemCapability.Graphics.Drawing
59
60**参数:**
61
62| 参数名         | 类型                                       | 必填   | 说明                  |
63| ----------- | ---------------------------------------- | ---- | ------------------- |
64| rect        | [common2D.Rect](js-apis-graphics-common2D.md#rect) | 是    | 需要创建的圆角矩形区域。      |
65| xRadii        | number                  | 是    | X轴上的圆角半径,该参数为浮点数,小于等于0时无效。     |
66| yRadii        | number                  | 是    | Y轴上的圆角半径,该参数为浮点数,小于等于0时无效。     |
67
68**错误码:**
69
70以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
71
72| 错误码ID | 错误信息 |
73| ------- | --------------------------------------------|
74| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types. |
75
76**示例:**
77
78```ts
79import { common2D, drawing } from '@kit.ArkGraphics2D';
80
81let rect: common2D.Rect = {left : 100, top : 100, right : 500, bottom : 300};
82let roundRect = new drawing.RoundRect(rect, 50, 50);
83```
84## setCorner<sup>12+</sup>
85
86setCorner(pos: CornerPos, x: number, y: number): void
87
88设置圆角矩形中指定圆角位置的圆角半径。
89
90**系统能力:** SystemCapability.Graphics.Drawing
91
92**参数:**
93
94| 参数名   | 类型                                         | 必填 | 说明                            |
95| -------- | -------------------------------------------- | ---- | ------------------------------- |
96| pos | [CornerPos](arkts-apis-graphics-drawing-e.md#cornerpos12) | 是   | 圆角位置。                 |
97| x     | number                 | 是   | x轴方向的圆角半径,该参数为浮点数,小于等于0时无效。 |
98| y     | number      | 是   | y轴方向的圆角半径,该参数为浮点数,小于等于0时无效。 |
99
100**错误码:**
101
102以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
103
104| 错误码ID | 错误信息 |
105| ------- | --------------------------------------------|
106| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types;3.Parameter verification failed. |
107
108**示例:**
109
110```ts
111import { drawing } from '@kit.ArkGraphics2D';
112
113let roundRect : drawing.RoundRect = new drawing.RoundRect({left: 0, top: 0, right: 300, bottom: 300}, 50, 50);
114roundRect.setCorner(drawing.CornerPos.TOP_LEFT_POS, 150, 150);
115```
116
117## getCorner<sup>12+</sup>
118
119getCorner(pos: CornerPos): common2D.Point
120
121获取圆角矩形中指定圆角位置的圆角半径。
122
123**系统能力:** SystemCapability.Graphics.Drawing
124
125**参数:**
126
127| 参数名   | 类型                                         | 必填 | 说明                            |
128| -------- | -------------------------------------------- | ---- | ------------------------------- |
129| pos | [CornerPos](arkts-apis-graphics-drawing-e.md#cornerpos12) | 是   | 圆角位置。                 |
130
131**返回值:**
132
133| 类型                  | 说明           |
134| --------------------- | -------------- |
135| [common2D.Point](js-apis-graphics-common2D.md#point12)  | 返回一个点,其横坐标表示圆角x轴方向上的半径,纵坐标表示y轴方向上的半径。 |
136
137**错误码:**
138
139以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
140
141| 错误码ID | 错误信息 |
142| ------- | --------------------------------------------|
143| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types;3.Parameter verification failed. |
144
145**示例:**
146
147```ts
148import { drawing } from '@kit.ArkGraphics2D';
149
150let roundRect : drawing.RoundRect = new drawing.RoundRect({left: 0, top: 0, right: 300, bottom: 300}, 50, 50);
151let cornerRadius = roundRect.getCorner(drawing.CornerPos.BOTTOM_LEFT_POS);
152console.info("getCorner---"+cornerRadius.x)
153console.info("getCorner---"+cornerRadius.y)
154```
155
156## offset<sup>12+</sup>
157
158offset(dx: number, dy: number): void
159
160将圆角矩形分别沿x轴方向和y轴方向平移dx,dy。
161
162**系统能力:** SystemCapability.Graphics.Drawing
163
164**参数:**
165
166| 参数名   | 类型                                         | 必填 | 说明                            |
167| -------- | -------------------------------------------- | ---- | ------------------------------- |
168| dx | number | 是   | 表示x轴方向上的偏移量。正数表示向x轴正方向平移,负数表示向x轴负方向平移,该参数为浮点数。                 |
169| dy | number | 是   | 表示y轴方向上的偏移量。正数表示向y轴正方向平移,负数表示向y轴负方向平移,该参数为浮点数。                 |
170
171**错误码:**
172
173以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
174
175| 错误码ID | 错误信息 |
176| ------- | --------------------------------------------|
177| 401 | Parameter error.Possible causes:1.Mandatory parameters are left unspecified;2.Incorrect parameter types. |
178
179**示例:**
180
181```ts
182import { drawing } from '@kit.ArkGraphics2D';
183
184let roundRect : drawing.RoundRect = new drawing.RoundRect({left: 0, top: 0, right: 300, bottom: 300}, 50, 50);
185roundRect.offset(100, 100);
186```