HarmonyOS 如何给UI界面添加一个水印布局

HarmonyOS  如何给UI界面添加一个水印布局。

HarmonyOS
2024-09-25 12:28:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以尝试 Canvas:

@Entry  
@Component  
export struct MyComponent {  
  private settings: RenderingContextSettings = new RenderingContextSettings(true)  
  private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)  
  @Builder  
  Watermark() {  
    Canvas(this.context)  
      .width("100%")  
      .height("100%")  
      .hitTestBehavior(HitTestMode.Transparent)  
      .onReady(() => {  
        this.context.fillStyle = '#10000000'  
        this.context.font = "16vp"  
        this.context.textAlign = "center"  
        this.context.textBaseline = "middle"  
        // 在这里绘制文字水印,也可以是图片水印  
        for (let i = 0; i < this.context.width / 120; i++) {  
          this.context.translate(120, 0)  
          let j = 0  
          for (; j < this.context.height / 120; j++) {  
            this.context.rotate(-Math.PI / 180 * 30)  
            // 此处水印数据是定值,具体请替换为自己的水印  
            this.context.fillText("水印水印水印", -60, -60)  
            this.context.rotate(Math.PI / 180 * 30)  
            this.context.translate(0, 120)  
          }  
          this.context.translate(0, -120 * j)  
        }  
      })  
  }  
  
  build() {  
    Column() {  
      Text("没有数据哦").fontColor("#495057")  
      Image($r("app.media.startIcon")).width(300)  
    }  
    .layoutWeight(1)  
    .overlay(this.Watermark())  
    .width("100%")  
  }  
}
分享
微博
QQ
微信
回复
2024-09-25 18:07:09
相关问题
HarmonyOS 如何 app 添加水印
328浏览 • 1回复 待解决
HarmonyOS 一个Button布局的问题
301浏览 • 1回复 待解决
HarmonyOS 一个UI 优化方面的问题
264浏览 • 1回复 待解决
HarmonyOS是否支持图片添加水印
278浏览 • 1回复 待解决
如何使用canvas添加水印
1290浏览 • 1回复 待解决
如何为图片添加一个模糊的效果?
405浏览 • 2回复 待解决
【急】鸿蒙UI界面网格布局怎么设置?
16438浏览 • 4回复 待解决
基于原生的水印添加能力
734浏览 • 1回复 待解决
如何添加一个自定义的代码文件夹
368浏览 • 1回复 待解决