写点什么

可可图片编辑 HarmonyOS(2) 选择图片和保存到图库

作者:万少
  • 2025-08-26
    广东
  • 本文字数:1557 字

    阅读完需:约 5 分钟

可可图片编辑 HarmonyOS(2) 选择图片和保存到图库

可可图片编辑 HarmonyOS(2) 选择图片和保存到图库

前言

HarmonyOS 上架应用 可可图片编辑 APP 中,大量使用到了读取相册图片和保存图片到图库的功能。这篇文章主要围绕这两个核心功能继续讲解,目前 HarmonyOS 应用开发中 主要推荐使用Picker读取媒体库的图片与视频。使用保存控件/授权弹窗保存媒体库的图片与视频



picker 选择图片



Picker 可以实现直接选择图库图片或者拍照的方式获取图片,需要注意的是 使用 Picker 读取图片时,返回的该图片的 uri 信息。Picker 读取图片。

1. 导入模块 photoAccessHelper 模块

photoAccessHelper 来自于 MediaLibraryKitMediaLibraryKit(媒体文件管理服务)提供了管理相册和媒体文件的能力,包括图片和视频,帮助应用快速构建图片和视频的展示与播放功能。

2. 设置选择图片的参数

PhotoSelectOptions 继承自 BaseSelectOptions。

BaseSelectOptions 提供的配置主要有:

而 PhotoSelectOptions 提供的配置有:

以下示例代码中主要使用了 MIMETypemaxSelectNumber

3. 创建图片选择器

4. 开始选择图片

5. 打印输出

photoViewPicker.select to file succeed and uris are:file://media/Photo/1/IMG_1756079725_000/screenshot_20250825_075345.jpg
复制代码

完整代码

SaveButton 安全控件 保存图片

应用可以通过安全控件授权弹窗的方式,将用户指定的媒体资源保存到图库中。授权弹窗的方式需要另外设置权限和向用户申请权限,如果安全控件可以满足我们的需求,建议直接使用安全控件的方式。

使用安全控件的主要流程如下:



1. 设置安全控件的基本样式

如果安全控件的基本样式不清晰、明了,那么系统就会拒绝授权给你保存图片,这个务必要注意。

安全控件的保存控件。用户点击保存控件,应用可以临时获取存储权限,而不需要权限弹框授权确认。

为避免控件样式不合法导致授权失败,请开发者先了解安全控件样式的约束与限制

可能会导致授权失败的问题(包括但不限于):

  • 字体、图标尺寸过小。

  • 安全控件整体尺寸过大。

  • 字体、图标、背景按钮的颜色透明度过高。

  • 字体或图标与背景按钮颜色过于相似。

  • 安全控件超出屏幕、超出窗口等,导致显示不全。

  • 安全控件被其他组件或窗口遮挡。

  • 安全控件的父组件有类似变形模糊等可能导致安全控件显示不完整的属性。

     SaveButton({        text: SaveDescription.SAVE_IMAGE,        icon: SaveIconStyle.FULL_FILLED      })
复制代码



2. 使用 phAccessHelper 得到存图库中的路径

createAsset:指定文件类型、后缀和创建选项,创建图片或视频资源

3. 读取要保存图片的源数据

这里需要传入 Picker 选择的图片的具体路径 this.fileUri

使用 fileIo kit 读取图片数据

4. 写入到相册中

最后写入到相册中

案例完整代码

总结

本文详细介绍了 HarmonyOS 应用开发中两个重要功能的实现方法:

1. 图片选择功能(Picker)

  • 使用photoAccessHelper模块实现图片选择

  • 支持从相册选择图片或拍照获取图片

  • 通过配置PhotoSelectOptions参数控制选择行为

  • 返回图片的 URI 信息供后续处理

2. 图片保存功能(SaveButton)

  • 使用安全控件SaveButton实现图片保存到图库

  • 无需复杂的权限申请流程

  • 通过createAsset创建图库资源路径

  • 使用fileIo模块读取和写入图片数据

开发要点:

  • 安全控件样式需要清晰明了,避免授权失败

  • 正确处理图片 URI 和文件操作

  • 合理配置选择参数以满足应用需求

这两个功能是图片编辑类应用的核心基础,掌握它们可以为用户提供流畅的图片处理体验。

以往文章

近期活动

最近想要想要考取 HarmonyOS 基础或者高级证书,或者快要获取的同学都可以点击这个链接,加入我的班级,考取成功有机会获得鸿蒙礼盒一份。



联系我

可以加我微信,带你了解更多 HarmonyOS 相关的资讯。



用户头像

万少

关注

还未添加个人签名 2021-12-02 加入

还未添加个人简介

评论

发布
暂无评论
可可图片编辑 HarmonyOS(2) 选择图片和保存到图库_HarmonyOS_万少_InfoQ写作社区