HarmonyOS 鸿蒙Next如何在照片上自动添加自定义水印,比如拍摄的年份或地点?

发布于 1周前 作者 yibo5220 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何在照片上自动添加自定义水印,比如拍摄的年份或地点?

拍摄完成后,我比较希望照片带有一些标记信息,比如拍摄的年份、地点,或者“旅行留念”这样的水印文字。

这样可以让照片看起来更有个性和纪念价值。

所以我这琢磨想在拍完照片后,自动添加这些水印信息。

这个咋整呢?有相关代码么??

3 回复
可以参考官方示例代码,水印添加能力,包括两种方式给页面添加水印、保存图片添加水印、拍照图片添加水印和pdf文件添加水印:https://gitee.com/harmonyos_samples/watermark

通过鸿蒙的相机API,我们可以实现自动水印的功能。

例如下面代码,拍完照片后,把“拍摄于2024”这样的水印加上去,拍照的照片就更有个性。

function addWatermarkToPhoto(photo: camera.Photo, text: string): void {

let imageObj: image.Image = photo.main;

imageObj.getComponent(image.ComponentType.JPEG, (errCode: BusinessError, component: image.Component): void => {

if (errCode || component === undefined) {

console.error("获取图片组件失败");

return;

}let buffer: ArrayBuffer; if (component.byteBuffer) { buffer = component.byteBuffer; // 假设我们有一个方法addTextWatermark可以把文字加到照片buffer上 buffer = addTextWatermark(buffer, text); // 自定义方法 console.info("成功添加水印到照片"); } else { console.error("buffer 为空,无法添加水印"); }

});

}

// 使用拍照回调中调用

photoOutput.on('photoAvailable', (errCode: BusinessError, photo: camera.Photo): void => {

if (!errCode && photo !== undefined) {

addWatermarkToPhoto(photo, "拍摄于2024"); // 添加水印

}

});

#HarmonyOS最强问答官#

作为IT专家,对于HarmonyOS 鸿蒙Next如何在照片上自动添加自定义水印的问题,以下提供具体方法:

  1. 打开相机应用:进入HarmonyOS 鸿蒙Next系统的拍照界面。

  2. 选择水印功能:点击底部“更多”选项,在更多界面中找到并点击“水印”功能。

  3. 添加自定义水印

    • 即时水印:在水印功能中,点击“+”或类似按钮进入主题App的美化下,选择喜欢的水印模式下载并应用。部分水印模式可能已包含时间、地点等信息,或者可以编辑为拍摄的年份。
    • 照片编辑水印:对于已拍摄的照片,可在相册中找到并点击照片,选择编辑功能,再进入水印选项进行添加。
  4. 拍照或保存:水印设置完成后,拍照即可自动添加水印,或者对已有照片进行保存。

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

回到顶部