当前位置:   article > 正文

鸿蒙开发之如何将相册中的图片读到Canvas画布_h鸿蒙如何建内容想web一样输出到画布

h鸿蒙如何建内容想web一样输出到画布

第一步:申请文件权限(很重要)  

申请方法见上一篇博客 https://blog.csdn.net/qq_15509071/article/details/135659048

第二步:打开相册,选取图片

  1. try {
  2. let PhotoSelectOptions = new picker.PhotoSelectOptions();
  3. PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
  4. PhotoSelectOptions.maxSelectNumber = 5;
  5. let photoPicker = new picker.PhotoViewPicker();
  6. photoPicker.select(PhotoSelectOptions).then(async (PhotoSelectResult: picker.PhotoSelectResult) => {
  7. console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
  8. }).catch((err: BusinessError) => {
  9. console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
  10. });

第三步:返回的是图片的路径,然后转成 ImageBitmap

  1. if(PhotoSelectResult.photoUris.length > 0){
  2. let filePath = PhotoSelectResult.photoUris[0];
  3. this.context2.drawImage(new ImageBitmap(filePath),0,0,130,130)
  4. }

绘图相关的代码可以参考另一篇博客:https://blog.csdn.net/qq_15509071/article/details/135624812

然后就完成了相册图片加载到画布的功能

'ohos.permission.MEDIA_LOCATION' 显示的是读取相册权限

注:如果没有申请权限,或者用错误的方式申请权限都是不成功的

而且,虽然申请的是读取文件的权限,但是是不需要使用fs.open等文件操作就能获取的,

可以直接使用new ImageBitmap(filePath),这个地方花费了三个小时,以次记录

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/329782?site
推荐阅读
相关标签
  

闽ICP备14008679号