news 2026/9/5 11:42:47

《第13讲:调用摄像头与相册:图像采集与展示》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《第13讲:调用摄像头与相册:图像采集与展示》

第13篇:调用摄像头与相册:图像采集与展示

# Flutter × 鸿蒙实战30讲(13):调用摄像头与相册:图像采集与展示 > 作者:烟云任平生 > 发布时间:2025年12月13日 > 标签:`#Flutter` `#OpenHarmony` `#摄像头` `#相册` `#CSDN` --- ### 一、目标 让 Flutter 应用具备 **拍照** 和 **选择相册图片** 能力,并将结果回传至 Flutter 显示。 --- ### 二、权限配置 ```json { "requestPermissions": [ { "name": "ohos.permission.CAMERA" }, { "name": "ohos.permission.READ_IMAGEVIDEO" }, { "name": "ohos.permission.WRITE_IMAGEVIDEO" } ] } 三、ArkTS 实现图像选择 // imagePicker.ts import picker from '@ohos.multimedia.photoAccessHelper'; import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; export class ImagePicker { private static context = getContext(); static async pickImage(): Promise<string> { const atManager = abilityAccessCtrl.createAtManager(); try { await atManager.requestPermissionsFromUser(this.context, [ 'ohos.permission.READ_IMAGEVIDEO' ]); } catch { throw new Error('Permission denied'); } // OpenHarmony 暂无官方图像选择器,此处模拟返回本地路径 // 实际可结合 FilePicker 或自定义 UI return 'file://data/storage/el2/base/haps/entry/files/sample.jpg'; } } ⚠️ 注:OpenHarmony 标准系统暂未提供 photoPicker,需自行实现文件选择界面或使用社区方案。 四、简化方案:预存测试图 为快速验证,可将测试图放入 rawfile/test.jpg,并通过以下方式返回 base64: // 将 rawfile 图片转为 base64(仅用于演示) const buffer = getContext().resourceManager.getRawFileContentSync('test.jpg'); const base64 = util.Base64.encodeToString(buffer); return 'data:image/jpeg;base64,' + base64; 五、Flutter 侧接收并显示 Future<void> selectImage() async { final bridge = html.window['ImageAPI']; final imageUrl = await bridge.callMethod('pickImage'); if (imageUrl is String) { setState(() { _imagePath = imageUrl; // 可直接用于 Image.network }); } } Widget build(BuildContext context) { return Column( children: [ if (_imagePath != null) Image.network(_imagePath!), ElevatedButton(onPressed: selectImage, child: Text('选择图片')) ], ); } 六、未来展望 待 OpenHarmony 官方提供 PhotoPicker 后,可无缝替换底层实现,Flutter 代码无需改动。 🔜 下一篇预告:《第14讲:位置服务集成:获取 GPS 坐标》 💬 你在鸿蒙上实现过图像选择吗?欢迎分享经验
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 23:23:14

如何快速解锁Boot镜像并获取Root权限

如何快速解锁Boot镜像并获取Root权限 【免费下载链接】Boot.img修补工具-MagiskPatcher 本仓库提供了一个名为“Boot.img 修补工具 - Magisk Patcher”的资源文件。该工具主要用于修补有锁的BOOT镜像文件&#xff0c;帮助用户在需要的情况下对Boot.img进行必要的修改和调整 项…

作者头像 李华
网站建设 2026/9/5 10:32:52

5分钟用计数排序打造数据清洗原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个数据清洗原型工具&#xff0c;功能包括&#xff1a;1.输入数据自动分析 2.计数排序实现 3.异常值检测 4.简单可视化 5.一键导出结果。使用快速原型模式&#xff0c;优先…

作者头像 李华
网站建设 2026/9/4 22:19:30

10个高效tar命令实战案例:从日志归档到批量处理

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式tar命令案例展示页面&#xff0c;包含10个典型应用场景&#xff1a;1) 日志文件每日压缩归档 2) 排除特定文件类型的打包 3) 分卷压缩大文件 4) 增量备份 5) 加密压缩…

作者头像 李华
网站建设 2026/9/5 19:53:33

基于微信小程序的民宿预订系统的设计与实现(源码+论文+部署+安装)

感兴趣的可以先收藏起来&#xff0c;还有在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望可以帮到大家。 一、系统背景 行业发展趋势 旅游业蓬勃发展推动民宿行业快速扩张&#xff0c;民宿凭借个性化体验、贴…

作者头像 李华
网站建设 2026/9/5 20:00:56

手把手教你快速玩转LLaMA-Factory:大模型微调入门级教程

对于希望尝试大模型训练的同学来说&#xff0c;从 LLaMA-Factory 入手是一个非常不错的选择&#xff01;在实际工作中&#xff0c;也经常用到 LLaMA-Factory 进行模型训练。用得越多&#xff0c;越能体会到它的便捷与高效。尤其值得一提的是&#xff0c;LLaMA-Factory 提供了完…

作者头像 李华
网站建设 2026/9/5 13:17:54

RAG、微调、提示工程:三种让AI变聪明的方法,该怎么选?

还记得多年前,我们喜欢在Google上搜索自己的名字,看看互联网"知道"多少关于我们的信息吗?现在,这个游戏有了升级版——去问问ChatGPT或其他大语言模型:“你知道我是谁吗?” 当我问"XX是谁?"时,不同的AI模型给出的答案千差万别。有的说他是IBM的技术专家…

作者头像 李华