HarmonyOS 自定义相机怎样实现拍照,并且拿到照片 uri 并且转换成base

1、如何使用自定义相机拍照 。

2、怎样拿到拍照后的uri 并且转换成base64。

3、之前看文档 要加

'ohos.permission.READ_IMAGEVIDEO',       // 'ohos.permission.WRITE_IMAGEVIDEO'

这个两个权限,但是加了打包后 跑不起来。

HarmonyOS
2024-08-12 15:23:02
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

1:完成3、2以后您可以使用拍照并在相册里找到图片。

2:怎样拿到拍照后的uri 并且转换成base64:可以参考以下文件,先将图片转成ArrayBuffer,再转成base64,https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/image-encoding-V5

ArrayBuffer转成base64:

let base64Str = buffer.from(arrayBuffer).toString('base64')

3:关于加上’ohos.permission.READ_IMAGEVIDEO’, ‘ohos.permission.WRITE_IMAGEVIDEO’ 这个两个权限,打包后失败的问题。是因为您没有配置ACL权限,步骤如下:在module.json5文件里配置好ACL权限后点一下Sync Now,打开File->Project Structure->Signing Configs,重新勾选Automatically generate signature签名一下,目前支持自动签名配置的ACL权限请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-0000001587684945-V5#section9786111152213

module.json5文件如下:

"requestPermissions": [ 
{ 
  "name": "ohos.permission.READ_IMAGEVIDEO", 
"reason": "$string:camera_reason", 
"usedScene": { 
  "when":"inuse" 
} 
}, 
{ 
  "name": "ohos.permission.WRITE_IMAGEVIDEO", 
"reason": "$string:camera_reason", 
"usedScene": { 
  "when":"inuse" 
} 
}, 
 
{ 
  "name": "ohos.permission.CAMERA", 
"reason": "$string:camera_reason", 
"usedScene": { 
  "when":"inuse" 
} 
}, 
{ 
  "name": "ohos.permission.INTERNET", 
"reason":  "$string:inter_reason", 
"usedScene": { 
  "when":"inuse" 
} 
}, 
],
分享
微博
QQ
微信
回复
2024-08-12 19:44:18
相关问题
json 如何转换成自定义的业务类对象
808浏览 • 1回复 待解决
如何base64转换成图片?
10329浏览 • 2回复 待解决
HarmonyOS 自定义相机拍照后数据展示
791浏览 • 1回复 待解决
HarmonyOS Object怎么转换成map
43浏览 • 1回复 待解决
PixelMap类型怎么转换成Base64字符串
634浏览 • 1回复 待解决
Map类型怎么转换成Json string
2195浏览 • 1回复 待解决
HarmonyOS将对象转换成字符串的方法
585浏览 • 1回复 待解决
HarmonyOS 自定义相机demo
302浏览 • 1回复 待解决
相机拍照界面应该怎样拉起?
487浏览 • 1回复 待解决
如何将文件转换成字符串
418浏览 • 1回复 待解决