赞
踩
第一步:申请文件权限(很重要)
申请方法见上一篇博客 https://blog.csdn.net/qq_15509071/article/details/135659048
第二步:打开相册,选取图片
- try {
- let PhotoSelectOptions = new picker.PhotoSelectOptions();
- PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
- PhotoSelectOptions.maxSelectNumber = 5;
- let photoPicker = new picker.PhotoViewPicker();
- photoPicker.select(PhotoSelectOptions).then(async (PhotoSelectResult: picker.PhotoSelectResult) => {
- console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
- }).catch((err: BusinessError) => {
- console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
- });
第三步:返回的是图片的路径,然后转成 ImageBitmap
- if(PhotoSelectResult.photoUris.length > 0){
- let filePath = PhotoSelectResult.photoUris[0];
- this.context2.drawImage(new ImageBitmap(filePath),0,0,130,130)
- }
绘图相关的代码可以参考另一篇博客:https://blog.csdn.net/qq_15509071/article/details/135624812
然后就完成了相册图片加载到画布的功能
'ohos.permission.MEDIA_LOCATION' 显示的是读取相册权限
注:如果没有申请权限,或者用错误的方式申请权限都是不成功的
而且,虽然申请的是读取文件的权限,但是是不需要使用fs.open等文件操作就能获取的,
可以直接使用new ImageBitmap(filePath),这个地方花费了三个小时,以次记录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。