HarmonyOS PhotoViewPicker设置isEditSupported后点击编辑,未得到想要的结果。?

const photoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
      photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
      photoSelectOptions.maxSelectNumber =  9;
      photoSelectOptions.isEditSupported = true;
      let uris: Array<string> = [];
      const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
      photoViewPicker.select(photoSelectOptions).then((photoSelectResult: photoAccessHelper.PhotoSelectResult) => {
        uris = photoSelectResult.photoUris;
        resolve({
          code: 0,
          uris: uris
        })
      }).catch((err: BusinessError) => {
        reject({
          code: err.code,
          uris:[]
        })
      })

调用系统级,图片选择器设置允许编辑,但点击编辑按钮后,未能到编辑页面。

阅读 588
1 个回答

使用到picker编辑图片能力时,建议使用new picker.PhotoViewPicker();来生成 photoPicker 对象,示例demo:

import { photoAccessHelper } from '@kit.MediaLibraryKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import picker from '@ohos.file.picker';
@Entry
@Component
struct PhotoPickerPage2 {
  @State img: string = ''
  aboutToDisappear() {
  }
  build() {
    Column() {
      Button("Button")
        .onClick(() => {
          let photoPicker = new picker.PhotoViewPicker();
          photoPicker.select(
            {MIMEType: 'image/*', maxSelectNumber: 1, isPhotoTakingSupported: true, isEditSupported: true, isSearchSupported: false} as photoAccessHelper.PhotoSelectOptions
          ).then((res) => {
            if (res.photoUris.length > 0) {
              this.img = res.photoUris[0]
            }
          }).catch((err: BusinessError) => {
            hilog.info(1, "hilog",'select error: ' + err.code + ' ' + err.message)
          })
        })
      Image(this.img)
    }.width('100%').margin({ top: 5 })
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进