鸿蒙HarmonyOS实战开辟:相机旋转角度的术语

打印 上一主题 下一主题

主题 1049|帖子 1049|积分 3147

 鸿蒙NEXT开辟实战往期必看文章:
一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开辟!
“非常详细的” 鸿蒙HarmonyOS Next应用开辟学习路线!(从零底子入门到精通)
HarmonyOS NEXT应用开辟案例实践总结合(一连更新......)
HarmonyOS NEXT应用开辟性能优化实践总结(一连更新......)

在适配相机旋转角度中涉及设备方向、镜头角度、屏幕表现角度等多个术语,开辟者可以了解相干概念,帮助明白框架的运作机制。
设备自然方向

设备自然方向指设备默认的利用方向,以手机为例,如图所示,手机的自然方向为竖屏且充电口向下。


屏幕表现方向

屏幕表现方向指当前用户视角下,设备正确的表现方向。


屏幕旋转角度

表现设备的屏幕顺时针旋转角度,简称为屏幕旋转角度,即设备从自然方向到当前方向的顺时针夹角。
如图所示,图示夹角即为屏幕旋转角度,可通过Display.rotation获取。


相机镜头安装角度

相机镜头安装角度指相机采集图像方向到设备自然方向在顺时针方向的夹角。
以手机为例,手机后置相机传感器是横屏安装的,当手机在竖屏方向利用后置相机镜头拍摄时,相机采集到的原始图像方向如图所示。
此时图像需要顺时针旋转90度,才能与设备自然方向保持一致,以是后置相机的镜头角度为90度


而手机前置镜头,是朝向利用者的,当手机在竖屏方向利用前置相机镜头拍摄时,出图方向与后置出图方向互为镜像,如下图所示,前置相机的镜头角度为270度


预览旋转角度

说明
开辟者可参考以下章节,了解框架实现的机制,在实际开辟过程中,推荐通过接口获取预览旋转角度。
在预览时,图像旋转角度与屏幕表现旋转角度相干。系统将以原始图像方向为基线,根据相机镜头角度和屏幕表现赔偿角度,旋转图像。
计算公式:图像旋转角度=镜头安装角度+屏幕表现赔偿角度,屏幕表现赔偿角度的值与屏幕旋转角度相等。
以手机设备为例展示相机在预览下怎样处理图像。
  设备和镜头方向
  处理过程表现图
  设备条件:
手机竖屏、充电口向下。
利用后置相机拍摄。
可得:
     

  • 后置相机镜头角度 = 90°
  • 屏幕旋转角度= 0°,Display.rotation = 0
  • 图像预览旋转角度 = 90°+0° = 90°


  设备条件:
手机横屏、充电口向左。
利用后置相机拍摄。
可得:
     

  • 后置相机镜头角度 = 90°
  • 屏幕旋转角度 = 90°,Display.rotation = 1
  • 图像预览旋转角度 = 90°+90° = 180°


  设备条件:
手机竖屏、充电口向上。
利用后置相机拍摄。
可得:
     

  • 后置相机镜头角度 = 90°
  • 屏幕旋转角度 = 180°,Display.rotation = 2
  • 图像预览旋转角度 = 90°+180° = 270°


  设备条件:
手机横屏、充电口向右。
利用后置相机拍摄。
可得:
     

  • 后置相机镜头角度 = 90°
  • 屏幕旋转角度 = 270°,Display.rotation = 3
  • 图像预览旋转角度 = 90°+270° = 0°


  设备条件:
手机竖屏、充电口向下。
利用前置相机拍摄。
可得:
     

  • 前置相机镜头角度 = 270°
  • 前置相机镜像出图
  • 屏幕旋转角度= 0°,Display.rotation = 0
  • 图像预览旋转角度 = 270°+0° = 270°


  设备条件:
手机横屏、充电口向左。
利用前置相机拍摄。
可得:
     

  • 前置相机镜头角度 = 270°
  • 前置相机镜像出图
  • 屏幕旋转角度 = 90°,Display.rotation = 1
  • 图像预览旋转角度 = 270°+90° =0°


  设备条件:
手机竖屏、充电口向上。
利用前置相机拍摄。
可得:
     

  • 前置相机镜头角度 = 270°
  • 前置相机镜像出图
     

  • 屏幕旋转角度 = 180°,Display.rotation = 2
  • 图像预览旋转角度 = 270°+180° = 90°


  设备条件:
手机横屏、充电口向右。
利用前置相机拍摄。
可得:
     

  • 前置相机镜头角度 = 270°
  • 前置相机镜像出图
     

  • 屏幕旋转角度 = 270°,Display.rotation = 3
  • 图像预览旋转角度 = 270°+270° = 180°


  照相/录像角度

在照相、录像时,图像旋转角度与设备重力方向(即设备旋转角度)相干。


  • 利用后置相机拍摄时,图像旋转角度=镜头安装角度+重力方向。
  • 利用前置相机拍摄时,图像旋转角度=镜头安装角度-重力方向。
应用需要监听SensorId.GRAVITY事件,获取重力传感器在x、y、z三个方向上的数据,计算得出设备旋转角度,请参考计算设备旋转角度。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我可以不吃啊

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表