如何调用设备摄像头进行拍照、预览并将拍摄结果保存在媒体库中(camera) 原创 精华
野生菌君
发布于 2023-12-14 10:25
浏览
2收藏
场景说明
调用设备摄像头进行拍照、预览是许多应用开发过程中都需要的功能。在拍照完成时显示照片预览图可以确认拍摄的照片是否达到预期,本例将为大家介绍如何实现上述功能。
效果呈现
本例效果如下:
拍照 | 预览 |
---|---|
![]() |
运行环境
本例基于以下环境开发,开发者也可以基于其他适配的版本进行开发。
- IDE:DevEco Studio 4.0.0.201 Beta1
- SDK:Ohos_sdk_public 4.0.7.5 (API Version 10 Beta1)
实现思路
本例使用@ohos.multimedia.camera接口实现相机示例的主要功能:拍照、预览;
-
拍照:XComponent组件负责绘制摄像头画面呈现的窗口,其onload事件调用cameraModel.ts的initCamera方法初始化相机功能输出画面信息。拍照动作使用Image组件实现,其onclick事件调用cameraModel.ts的takepicture方法开始拍照。
-
预览:返回相机界面点击底部左侧预览图可进入相册应用,可以在其中查看照片和录制的视频。
开发步骤
-
申请所需权限
在model.json5中添加以下配置:
-
创建绘制组件XComponent以输出摄像头获取的画面,其绑定的onload方法中设定了画幅的大小。
-
初始化相机功能
initCamera方法通过创建相机管理器实例cameraMgr来创建画面输出对象previewOutput。cameraMgr再通过创建CaptureSession实例来配置会话,完成相机功能的准备工作。
-
点击按钮进行拍照
拍照按钮通过Image组件呈现,其绑定的onClick方法调用takePicture方法开始拍照。
-
拍照功能具体实现
-
拍照
-
保存图片
saveImage方法使用MediaModel中的createAndGetUri方法创建Image类型资源,将拍摄到的照片写入到这个资源中去。
-
参考
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2023-12-14 10:29:04修改
赞
3
收藏 2
回复
3
1
2
相关推荐
代码的注释非常详细