HarmonyOS 鸿蒙Next @ohos.file.PhotoPickerComponent (Photo Picker组件)
demo:
import { photoAccessHelper } from '@kit.MediaLibraryKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { image } from '@kit.ImageKit';
import { fileIo as fs, picker } from '@kit.CoreFileKit';
let selectUris: string[] = [];
@Entry
@Component
struct Index {
@State message: string = ‘Hello World’;
build() {
Column() {
Button(‘打开相册’)
.onClick(() => {
//创建图库选择器对象实例
let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
PhotoSelectOptions.maxSelectNumber = 5;
const photoViewPicker =new photoAccessHelper.PhotoViewPicker();
//调用select()接口拉起图库界面进行文件选择,文件选择成功后,返回PhotoSelectResult结果集
photoViewPicker.select(PhotoSelectOptions).then(async (photoSelectResult: picker.PhotoSelectResult) => {
//用一个全局变量存储返回的uri
selectUris = photoSelectResult.photoUris;
console.info(‘photoViewPicker.select to file succeed and uris are:’ + selectUris);
}).catch((err: BusinessError) => {
console.error(Invoke photoViewPicker.select failed, code is ${err.code}, message is ${err.message}
);
})
})
Button(‘creatPixelMap’)
.margin({ top: 10 })
.onClick((event: ClickEvent) => {
//使用fs.openSync接口,通过uri打开这个文件得到fd
let file = fs.openSync(selectUris[0], fs.OpenMode.READ_ONLY);
console.info('file fd: ’ + file.fd);
//根据文件fd创建imagSource
const imageSource: image.ImageSource = image.createImageSource(file.fd);
let key = [image.PropertyKey.IMAGE_WIDTH, image.PropertyKey.IMAGE_LENGTH, image.PropertyKey.DATE_TIME_ORIGINAL];
imageSource.getImageProperties(key).then((data) => {
console.info(JSON.stringify(data));
}).catch((err: BusinessError) => {
console.error(JSON.stringify(err));
});
})
}
.height(‘100%’)
.width(‘100%’)
}
}
读取、编辑EXIF信息,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/image-tool-V5
关于HarmonyOS鸿蒙系统中的@ohos.file.PhotoPickerComponent
(Photo Picker组件),这是一个用于在应用中选择照片或视频的组件。它允许用户从设备的存储中浏览并选择图片或视频文件,然后返回给应用进行进一步处理。
该组件通常集成在应用的UI界面中,通过调用相应的API接口来实现功能。开发者需要确保在应用的config.json
文件中声明对该组件的依赖,并在代码中正确实例化和配置该组件。
在使用Photo Picker组件时,开发者需要注意以下几点:
- 权限管理:确保应用已经获得了访问设备存储的权限。
- 用户体验:组件的UI设计应符合用户的操作习惯,提供清晰的指示和反馈。
- 数据处理:选择完成后,应用需要正确处理返回的照片或视频数据,如进行显示、保存或上传等操作。
此外,随着HarmonyOS系统的不断更新和迭代,Photo Picker组件的API和功能也可能会发生变化。因此,开发者需要关注官方文档和更新日志,以确保应用的兼容性和稳定性。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。