HarmonyOS鸿蒙Next中实现打开系统相机拍照并返回和打开系统相册勾选一张或多张图片的API

HarmonyOS鸿蒙Next中实现打开系统相机拍照并返回和打开系统相册勾选一张或多张图片的API 有没有打开系统相机拍照并返回和打开系统相册勾选一张或多张图片的的API,而不是通过photoAccessHelper获取的方式?

3 回复

打开系统相机拍照并返回和打开系统相册勾选一张或多张图片的的API请参考:

import common from '@ohos.app.ability.common';

@Entry
@Component
struct ImagePickerPage {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)

        Button("camera Image").onClick(() => {
          const context = getContext(this) as common.UIAbilityContext
          console.log('sss')
          context.startAbilityForResult({
            action:"ohos.want.action.imageCapture",
            parameters:{
              callBundleName:"com.hm.imageshow"//拉起系统相机拍照后返回的应用包名
            }
          },(err, data) => {
            console.info("context:" + JSON.stringify(context))
            console.info("imageCapture:" + JSON.stringify(data))    
          })
        })
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于HarmonyOS鸿蒙Next中实现打开系统相机拍照并返回和打开系统相册勾选一张或多张图片的API的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,实现打开系统相机拍照并返回的功能,可以使用@ohos.multimedia.camera API。通过Camera类获取相机实例,调用takePicture方法进行拍照,拍照完成后会返回图片数据。具体流程包括初始化相机、配置参数、拍照和释放资源。

打开系统相册并勾选一张或多张图片的功能,可以使用@ohos.file.picker API。通过PhotoViewPicker类创建相册选择器,调用select方法打开相册,用户选择图片后会返回所选图片的URI列表。可以通过Image组件显示选中的图片。

这两个API均属于HarmonyOS的媒体和文件管理模块,开发者需在应用配置文件中声明相应的权限,如ohos.permission.CAMERAohos.permission.READ_MEDIA

在HarmonyOS鸿蒙Next中,可以通过@ohos.multimedia.camera@ohos.file.picker模块实现打开系统相机拍照和打开系统相册选择图片的功能。

  1. 打开系统相机拍照:

    • 使用CameraManager类初始化相机,通过PhotoOutput捕获照片并保存到指定路径。
    • 示例代码:
      const cameraManager = camera.getCameraManager(context);
      const cameraInput = cameraManager.getCameraInput(cameraId);
      const photoOutput = cameraManager.getPhotoOutput(cameraId);
      photoOutput.capture().then((photo) => {
          // 处理返回的照片
      });
      
  2. 打开系统相册选择图片:

    • 使用PhotoViewPicker选择单张图片,或PhotoSelectPicker选择多张图片。
    • 示例代码:
      const photoPicker = new picker.PhotoViewPicker();
      photoPicker.select().then((photo) => {
          // 处理选择的图片
      });
      

通过这些API,开发者可以轻松实现拍照和图片选择功能。

回到顶部