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);
})
期望结果:横、竖屏拍照时获取到正确的旋转方向
参考信息:
更多关于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
获取系统相机拍照图片旋转方向不准确,可能是由于以下原因:
- EXIF信息未正确解析:图片的旋转信息通常存储在EXIF元数据中,若解析逻辑有误,可能导致旋转方向不准确。
- 相机传感器方向未正确处理:不同设备的相机传感器方向可能不同,若未根据设备方向调整,可能导致旋转错误。
- 系统API调用问题:可能是API调用方式或参数设置不当,建议检查API文档,确保正确使用。
建议:检查EXIF解析逻辑,确保正确处理设备方向,并参考官方文档调整API调用方式。