根本原因是图片里的exif信息存在旋转90的信息,HarmonyOS这边是按照这个信息进行的旋转。如果不想旋转需要应用自行进行适配,目前可尝试如下以下方案适配:由于Image组件无法拿到图片数据,所以需要首先通过网络请求下载下来图片,然后使用image的createImageSource转换成image.ImageSource对象,再通过imageSource.createPixelMap接口,转成PixelMap对象,通过getImageProperty接口 (PropertyKey传入"Orientation")获取旋转信息,然后判断图片是否要旋转,最后将PixelMap对象的图片给到Image组件即可。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5\#imagecreatepixelmap8https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5\#getimageproperty11
根本原因是图片里的exif信息存在旋转90的信息,HarmonyOS这边是按照这个信息进行的旋转。如果不想旋转需要应用自行进行适配,目前可尝试如下以下方案适配:由于Image组件无法拿到图片数据,所以需要首先通过网络请求下载下来图片,然后使用image的createImageSource转换成image.ImageSource对象,再通过imageSource.createPixelMap接口,转成PixelMap对象,通过getImageProperty接口 (PropertyKey传入"Orientation")获取旋转信息,然后判断图片是否要旋转,最后将PixelMap对象的图片给到Image组件即可。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5\#imagecreatepixelmap8
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5\#getimageproperty11