1# Rect 2 3矩形绘制组件。 4 5> **说明:** 6> 7> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9 10## 子组件 11 12无 13 14 15## 接口 16 17Rect(value?: {width?: string | number,height?: string | number,radius?: string | number | Array<string | number>} |{width?: string | number,height?: string | number,radiusWidth?: string | number,radiusHeight?: string | number}) 18 19**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 20 21**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 22 23**系统能力:** SystemCapability.ArkUI.ArkUI.Full 24 25**参数:** 26 27| 参数名 | 类型 | 必填 | 说明 | 28| -------- | -------- | -------- | -------- | 29| value | {width?: string \| number,height?: string \| number,radius?: string \| number \| Array<string \| number>} \| {width?: string \| number,height?: string \| number,radiusWidth?: string \| number,radiusHeight?: string \| number} | 否 | width:宽度。<br/>默认值:0<br/>异常值按照默认值处理。<br/>height: 高度。<br/>默认值:0<br/>异常值按照默认值处理。<br/>radius:圆角半径,支持分别设置四个角的圆角度数。<br/>该属性和radiusWidth/radiusHeight属性效果类似,在组合使用时优先于radiusWidth/radiusHeight生效<br/>默认值:0<br/>异常值按照默认值处理。<br/>radiusWidth:圆角宽度。<br/>默认值:0<br/>异常值按照默认值处理。<br/>radiusHeight:圆角高度。<br/>默认值:0<br/>异常值按照默认值处理。| 30 31## 属性 32 33除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: 34 35### radiusWidth 36 37radiusWidth(value: number | string) 38 39设置圆角的宽度,仅设置宽时宽高一致。 异常值按照默认值处理。 40 41**卡片能力:** 从API version 7开始,该接口支持在ArkTS卡片中使用。 42 43**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 44 45**系统能力:** SystemCapability.ArkUI.ArkUI.Full 46 47**参数:** 48 49| 参数名 | 类型 | 必填 | 说明 | 50| ------ | -------------------------- | ---- | -------------------------- | 51| value | number \| string | 是 | 圆角的宽度。<br/>默认值:0 | 52 53### radiusHeight 54 55radiusHeight(value: number | string) 56 57设置圆角的高度,仅设置高时宽高一致。 异常值按照默认值处理。 58 59**卡片能力:** 从API version 7开始,该接口支持在ArkTS卡片中使用。 60 61**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 62 63**系统能力:** SystemCapability.ArkUI.ArkUI.Full 64 65**参数:** 66 67| 参数名 | 类型 | 必填 | 说明 | 68| ------ | -------------------------- | ---- | -------------------------- | 69| value | number \| string | 是 | 圆角的高度。<br/>默认值:0 | 70 71### radius 72 73radius(value: number | string | Array<string | number>) 74 75设置圆角半径大小。 异常值按照默认值处理。 76 77**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 78 79**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 80 81**系统能力:** SystemCapability.ArkUI.ArkUI.Full 82 83**参数:** 84 85| 参数名 | 类型 | 必填 | 说明 | 86| ------ | ------------------------------------------------------------ | ---- | ---------------------------- | 87| value | number \| string \| Array<string \| number> | 是 | 圆角半径大小。<br/>默认值:0 | 88 89### fill 90 91fill(value: ResourceColor) 92 93设置填充区域颜色。异常值按照默认值处理。 94 95**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 96 97**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 98 99**系统能力:** SystemCapability.ArkUI.ArkUI.Full 100 101**参数:** 102 103| 参数名 | 类型 | 必填 | 说明 | 104| ------ | ------------------------------------------ | ---- | -------------------------------------- | 105| value | [ResourceColor](ts-types.md#resourcecolor) | 是 | 填充区域颜色。<br/>默认值:Color.Black | 106 107### fillOpacity 108 109fillOpacity(value: number | string | Resource) 110 111设置填充区域透明度。取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0,其余异常值按1.0处理。 112 113**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 114 115**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 116 117**系统能力:** SystemCapability.ArkUI.ArkUI.Full 118 119**参数:** 120 121| 参数名 | 类型 | 必填 | 说明 | 122| ------ | ------------------------------------------------------------ | ---- | ------------------------------ | 123| value | number \| string \| [Resource](ts-types.md#resource) | 是 | 填充区域透明度。<br/>默认值:1 | 124 125### stroke 126 127stroke(value: ResourceColor) 128 129设置边框颜色,不设置时,默认没有边框。异常值不会绘制边框。 130 131**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 132 133**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 134 135**系统能力:** SystemCapability.ArkUI.ArkUI.Full 136 137**参数:** 138 139| 参数名 | 类型 | 必填 | 说明 | 140| ------ | ------------------------------------------ | ---- | ---------- | 141| value | [ResourceColor](ts-types.md#resourcecolor) | 是 | 边框颜色。 | 142 143### strokeDashArray 144 145strokeDashArray(value: Array<any>) 146 147设置边框间隙。异常值按照默认值处理。 148 149**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 150 151**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 152 153**系统能力:** SystemCapability.ArkUI.ArkUI.Full 154 155**参数:** 156 157| 参数名 | 类型 | 必填 | 说明 | 158| ------ | ---------------- | ---- | ------------------------- | 159| value | Array<any> | 是 | 边框间隙。<br/>默认值:[] | 160 161### strokeDashOffset 162 163strokeDashOffset(value: number | string) 164 165设置边框绘制起点的偏移量。异常值按照默认值处理。 166 167**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 168 169**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 170 171**系统能力:** SystemCapability.ArkUI.ArkUI.Full 172 173**参数:** 174 175| 参数名 | 类型 | 必填 | 说明 | 176| ------ | -------------------------- | ---- | ------------------------------------ | 177| value | number \| string | 是 | 边框绘制起点的偏移量。<br/>默认值:0 | 178 179### strokeLineCap 180 181strokeLineCap(value: LineCapStyle) 182 183设置边框端点绘制样式。 184 185**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 186 187**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 188 189**系统能力:** SystemCapability.ArkUI.ArkUI.Full 190 191**参数:** 192 193| 参数名 | 类型 | 必填 | 说明 | 194| ------ | ------------------------------------------------- | ---- | ------------------------------------------------ | 195| value | [LineCapStyle](ts-appendix-enums.md#linecapstyle) | 是 | 边框端点绘制样式。<br/>默认值:LineCapStyle.Butt | 196 197### strokeLineJoin 198 199strokeLineJoin(value: LineJoinStyle) 200 201设置边框拐角绘制样式。 202 203**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 204 205**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 206 207**系统能力:** SystemCapability.ArkUI.ArkUI.Full 208 209**参数:** 210 211| 参数名 | 类型 | 必填 | 说明 | 212| ------ | --------------------------------------------------- | ---- | -------------------------------------------------- | 213| value | [LineJoinStyle](ts-appendix-enums.md#linejoinstyle) | 是 | 边框拐角绘制样式。<br/>默认值:LineJoinStyle.Miter | 214 215### strokeMiterLimit 216 217strokeMiterLimit(value: number | string) 218 219设置斜接长度与边框宽度比值的极限值。斜接长度表示外边框外边交点到内边交点的距离,边框宽度即strokeWidth属性的值。该属性取值需在strokeLineJoin属性取值LineJoinStyle.Miter时生效。 220 221该属性的合法值范围应当大于等于1.0,当取值范围在[0,1)时按1.0处理,其余异常值按默认值处理。 222 223**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 224 225**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 226 227**系统能力:** SystemCapability.ArkUI.ArkUI.Full 228 229**参数:** 230 231| 参数名 | 类型 | 必填 | 说明 | 232| ------ | -------------------------- | ---- | ---------------------------------------------- | 233| value | number \| string | 是 | 斜接长度与边框宽度比值的极限值。<br/>默认值:4 | 234 235### strokeOpacity 236 237strokeOpacity(value: number | string | Resource) 238 239设置边框透明度。该属性的取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0,其余异常值按1.0处理 。 240 241**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 242 243**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 244 245**系统能力:** SystemCapability.ArkUI.ArkUI.Full 246 247**参数:** 248 249| 参数名 | 类型 | 必填 | 说明 | 250| ------ | ------------------------------------------------------------ | ---- | -------------------------- | 251| value | number \| string \| [Resource](ts-types.md#resource) | 是 | 边框透明度。<br/>默认值:1 | 252 253### strokeWidth 254 255strokeWidth(value: Length) 256 257设置边框宽度。该属性若为string类型, 暂不支持百分比,百分比按照1px处理。 258 259**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 260 261**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 262 263**系统能力:** SystemCapability.ArkUI.ArkUI.Full 264 265**参数:** 266 267| 参数名 | 类型 | 必填 | 说明 | 268| ------ | ---------------------------- | ---- | ------------------------ | 269| value | [Length](ts-types.md#length) | 是 | 边框宽度。<br/>默认值:1 | 270 271### antiAlias 272 273antiAlias(value: boolean) 274 275设置是否开启抗锯齿效果。 276 277**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。 278 279**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 280 281**系统能力:** SystemCapability.ArkUI.ArkUI.Full 282 283**参数:** 284 285| 参数名 | 类型 | 必填 | 说明 | 286| ------ | ------- | ---- | ------------------------------------- | 287| value | boolean | 是 | 是否开启抗锯齿效果。<br/>默认值:true | 288 289## 示例 290### 示例1 291 292```ts 293// xxx.ets 294@Entry 295@Component 296struct RectExample { 297 build() { 298 Column({ space: 10 }) { 299 Text('normal').fontSize(11).fontColor(0xCCCCCC).width('90%') 300 // 绘制90% * 50的矩形 301 Column({ space: 5 }) { 302 Text('normal').fontSize(9).fontColor(0xCCCCCC).width('90%') 303 // 绘制90% * 50矩形 304 Rect({ width: '90%', height: 50 }) 305 .fill(Color.Pink) 306 // 绘制90% * 50的矩形框 307 Rect() 308 .width('90%') 309 .height(50) 310 .fillOpacity(0) 311 .stroke(Color.Red) 312 .strokeWidth(3) 313 314 Text('with rounded corners').fontSize(11).fontColor(0xCCCCCC).width('90%') 315 // 绘制90% * 80的矩形, 圆角宽高分别为40、20 316 Rect({ width: '90%', height: 80 }) 317 .radiusHeight(20) 318 .radiusWidth(40) 319 .fill(Color.Pink) 320 // 绘制90% * 80的矩形, 圆角宽高为20 321 Rect({ width: '90%', height: 80 }) 322 .radius(20) 323 .fill(Color.Pink) 324 .stroke(Color.Transparent) 325 }.width('100%').margin({ top: 10 }) 326 // 绘制90% * 50矩形, 左上圆角宽高40,右上圆角宽高20,右下圆角宽高40,左下圆角宽高20 327 Rect({ width: '90%', height: 80 }) 328 .radius([[40, 40], [20, 20], [40, 40], [20, 20]]) 329 .fill(Color.Pink) 330 }.width('100%').margin({ top: 5 }) 331 } 332} 333``` 334 335 336 337### 示例2 338 339```ts 340// xxx.ets 341@Entry 342@Component 343struct RectExample { 344 build() { 345 Column({ space: 10 }) { 346 Column() 347 .width(100) 348 .height(100) 349 .linearGradient({ 350 direction: GradientDirection.Right, 351 colors: [[0xff0000, 0.0], [0x0000ff, 0.3], [0xffff00, 1.0]] 352 }) 353 .clip(new Rect({ width: 100, height: 100, radius: 40 })) 354 Rect() 355 .width(100) 356 .height(100) 357 // 设置矩形填充,如果需要显示背景的渐变色,请设置区域透明度.fillOpacity(0.0) 358 .fill(Color.Pink) 359 // 设置倒角为40 360 .radius(40) 361 .stroke(Color.Black) 362 // 设置渐变色,仅100*100的矩形区域生效,渐变色的边界不包含倒角 363 .linearGradient({ 364 direction: GradientDirection.Right, 365 colors: [[0xff0000, 0.0], [0x0000ff, 0.3], [0xffff00, 1.0]] 366 }) 367 } 368 } 369} 370``` 371 372 373