形状裁剪

2024-01-22 16:15 更新

用于对组件进行裁剪、遮罩处理。

说明

从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

属性

名称参数类型描述
clipCircle | Ellipse | Path | Rect | boolean

参数为相应类型的组件,按指定的形状对当前组件进行裁剪;参数为boolean类型时,设置是否按照父容器边缘轮廓进行裁剪。

默认值:false

从API version 9开始,该接口支持在ArkTS卡片中使用。

maskCircle | Ellipse | Path | Rect

在当前组件上加上指定形状的遮罩。

从API version 9开始,该接口支持在ArkTS卡片中使用。

示例

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct ClipAndMaskExample {
  5. build() {
  6. Column({ space: 15 }) {
  7. Text('clip').fontSize(12).width('75%').fontColor('#DCDCDC')
  8. Row() {
  9. Image($r('app.media.testImg')).width('500px').height('280px')
  10. }
  11. .clip(true) // 如这里不设置clip为true,则Row组件的圆角不会限制其中的Image组件,Image组件的四个角会超出Row
  12. .borderRadius(20)
  13. // 用一个280px直径的圆对图片进行裁剪
  14. Image($r('app.media.testImg'))
  15. .clip(new Circle({ width: '280px', height: '280px' }))
  16. .width('500px').height('280px')
  17. Text('mask').fontSize(12).width('75%').fontColor('#DCDCDC')
  18. // 给图片添加了一个500px*280px的方形遮罩
  19. Image($r('app.media.testImg'))
  20. .mask(new Rect({ width: '500px', height: '280px' }).fill(Color.Gray))
  21. .width('500px').height('280px')
  22. // 给图片添加了一个280px*280px的圆形遮罩
  23. Image($r('app.media.testImg'))
  24. .mask(new Circle({ width: '280px', height: '280px' }).fill(Color.Gray))
  25. .width('500px').height('280px')
  26. }
  27. .width('100%')
  28. .margin({ top: 15 })
  29. }
  30. }

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号