HarmonyOS鸿蒙Next中getImageProperty获取系统相机拍照图片旋转方向不准确

HarmonyOS鸿蒙Next中getImageProperty获取系统相机拍照图片旋转方向不准确

问题描述:在使用系统相机拍照后,想要获取图片的旋转方向,保存时对图片进行旋转,以便显示是正确的方向。但是使用系统api发现横竖拍照后返回的值是不变的“Top-left”。

拍照:调用系统相机拍照 cameraPicker.pick

获取方向代码

let file = fs.openSync(pictureUri, fs.OpenMode.READ_WRITE);
let imageOption: image.ImagePropertyOptions = {
  index: 0,
  defaultValue: "9999",
}
imageSource.getImageProperty(image.PropertyKey.ORIENTATION, imageOption).then((data: string) => {
  Logger.info("ImgUtil", "uriToPixelMap getImageProperty.orientation:" + data);
}).catch((error: BusinessError) => {
  Logger.error("ImgUtil", "selectImg uriToPixelMap getImageProperty fail:" + error.message);
})

期望结果:横、竖屏拍照时获取到正确的旋转方向

参考信息:

链接1

链接2


更多关于HarmonyOS鸿蒙Next中getImageProperty获取系统相机拍照图片旋转方向不准确的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next中getImageProperty获取系统相机拍照图片旋转方向不准确的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,getImageProperty获取系统相机拍照图片旋转方向不准确,可能是由于以下原因:

  1. EXIF信息未正确解析:图片的旋转信息通常存储在EXIF元数据中,若解析逻辑有误,可能导致旋转方向不准确。
  2. 相机传感器方向未正确处理:不同设备的相机传感器方向可能不同,若未根据设备方向调整,可能导致旋转错误。
  3. 系统API调用问题:可能是API调用方式或参数设置不当,建议检查API文档,确保正确使用。

建议:检查EXIF解析逻辑,确保正确处理设备方向,并参考官方文档调整API调用方式。

回到顶部