水印案例 HarmonyOS 鸿蒙场景化代码

发布于 1周前 作者 nodeper 最后一次编辑是 5天前 来自 鸿蒙OS

水印案例 HarmonyOS 鸿蒙场景化代码

介绍

在很多的场景中,如保存图片以及容器封面都能够见到水印,本案例通过Canvas组件以及OffscreenCanvas实现了页面添加水印以及保存图片时添加水印的功能。

demo详情链接

https://gitee.com/harmonyos-cases/cases/blob/master/CommonAppDevelopment/feature/watermark

1 回复

作为IT专家,对于HarmonyOS鸿蒙系统中的水印案例场景化代码有一定的了解。以下是一个简要的水印添加案例说明:

在HarmonyOS中,水印的添加通常通过Canvas组件或OffscreenCanvas来实现。具体有两种主要方法:

方法一:使用Canvas组件绘制水印。首先,创建一个Canvas组件,并设置其宽度和高度为100%,同时设置其为透明可点击(hitTestBehavior(HitTestMode.Transparent))。然后,在Canvas的onReady函数中,使用context的fillStyle、font、textAlign和textBaseline属性来设置水印的填充色、字体大小、文本对齐方式和水平对齐方式。接着,使用fillText方法绘制水印内容,并通过循环和变换(translate和rotate)来铺满整个画布。最后,通过overlay属性将水印作为浮层放置在页面中。

方法二:使用OffscreenCanvas绘制水印。首先,获取初始图片的pixelMap对象。然后,创建一个OffscreenCanvas对象,并获取其绘图上下文。接着,使用drawImage方法将图片绘制在离屏画布上,再使用fillText方法绘制水印内容。最后,通过getPixelMap方法获取新的图像像素类pixelMap,并保存为图片。

这两种方法都可以实现水印的添加,具体选择哪种方法取决于应用场景和需求。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部