如何对某个组件实现局部截图?

如何对某个组件实现局部截图?

HarmonyOS
2024-07-22 10:38:12
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
e_leaner

如图点击按钮实现上方黄色区域截图,然后下方显示

import componentSnapshot from '@ohos.arkui.componentSnapshot'
import image from '@ohos.multimedia.image'

@Entry
@Component
export struct SnapshotExample {
  @State pixmap: image.PixelMap | undefined = undefined
  build() {
    Column({ space: 30 }) {
      Column() {
        Text("张三")
          .padding(10)
          .fontColor(Color.White)
          .backgroundColor(Color.Blue)
        Text("李四")
          .padding(10)
          .fontColor(Color.White)
          .backgroundColor(Color.Red)
      }
      .id("root")
      .width(200)
      .height(200)
      .justifyContent(FlexAlign.SpaceEvenly)

      .backgroundColor(Color.Yellow)

      Button("截图").onClick(() => {
        componentSnapshot.get("root", ((err: Error, pixmap: image.PixelMap) => {
          if (err) {
            return
          }
          this.pixmap = pixmap
        }))
      })
      Image(this.pixmap).width(200)
        .height(200)
        .border({width:1,color:Color.Gray})
    }.height("100%")
    .width("100%")
    .justifyContent(FlexAlign.SpaceEvenly)
  }
}
分享
微博
QQ
微信
回复
2024-07-22 19:26:41