获取图片信息demo:function getPhoto(context: Context) { let atManager = abilityAccessCtrl.createAtManager(); const permissions: Array<Permissions> = ['ohos.permission.READ_MEDIA', "ohos.permission.WRITE_MEDIA"]; atManager.requestPermissionsFromUser(context, permissions).then(async (data) => { //需要用户允许授权图库权限 let grantStatus: Array<number> = data.authResults; let length: number = grantStatus.length; for (let i = 0; i < length; i++) { if (grantStatus[i] === 0) { //用户同意权限之后进行的操作 let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context); //context为getContext获取 console.info('albumGetAssetsDemoPromise'); let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); //筛选条件 let predicates1: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); //筛选条件 let albumName: photoAccessHelper.AlbumKeys = photoAccessHelper.AlbumKeys.ALBUM_NAME; let title: photoAccessHelper.PhotoKeys = photoAccessHelper.PhotoKeys.TITLE; let albumFetchOptions: photoAccessHelper.FetchOptions = { fetchColumns: [], predicates: predicates }; let fetchOption: photoAccessHelper.FetchOptions = { fetchColumns: ['title'], predicates: predicates1 }; const albumList: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.ANY, albumFetchOptions); //获取满足条件的相册列表,如果没加筛选条件就是所有相册 while (await albumList.isAfterLast() != null) { console.info('photoAsset displayName: 数量', albumList.getCount()); let album: photoAccessHelper.Album = await albumList.getNextObject(); //获取下一个 console.info('photoAsset displayName: ', album.albumName); //名字 console.info('photoAsset displayName: ', album.albumSubtype); //名字 console.info('photoAsset displayName:------------------------------------------------------- ') album.getAssets(fetchOption).then(async (albumFetchResult) => { while (!albumFetchResult.isAfterLast()) { //循环打印相册中的图片 let photoAsset: photoAccessHelper.PhotoAsset = await albumFetchResult.getNextObject(); let photoTitle = photoAsset.get(title); console.info(`xxxwidth is ${JSON.stringify(photoTitle)}`); } console.info('photoAsset displayName:------------------------------------------------------- ') }).catch((err: BusinessError) => { console.error('album getPhotoAssets failed with error: ' + err); }); } } else { // 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限 return; } } // 授权成功 }).catch((err: BusinessError) => { console.error(`requestPermissionsFromUser failed, code is ${err.code}, message is ${err.message}`); }) }imagesource后通过packing方法转成jpeg图片格式,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/image-decoding-V5
获取图片信息demo:
imagesource后通过packing方法转成jpeg图片格式,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/image-decoding-V5