在照片应用上旋转图像后,iOS PHCachingImageManager requestImage图像尺寸错误

时间:2019-05-25 07:33:11

标签: ios

我正在使用requestImage中的PHCachingImageManager来获取图像。

let options = PHImageRequestOptions()
options.version = .current

PHCachingImageManager().requestImage(
    for: asset,
    targetSize: PHImageManagerMaximumSize, // resizeMode will be ignored
    contentMode: .default, // defaults to aspectFit
    options: options,
    resultHandler: { image, _ in
        image.size // => <output image size>
    }
)

在大多数情况下,此方法效果很好,但是我发现了一个我想纠正的问题。

我想要原始图像,因此需要PHImageManagerMaximumSize属性。 根据方向的不同,未旋转图像的最终图像尺寸为4032x3024或3024x4032。

在手机的“照片”应用中旋转图像后,尺寸为1500x1124。

原始

(lldb)po资产:

  

E8710CF9-BA53-49FA-8535-D2B41EFA7AF2 / L0 / 001   mediaType = 1/0,sourceType = 1,(4032x3024),creationDate = 2019-05-24   06:42:17 +0000,位置= 1,隐藏= 0,收藏夹= 0   突发= 579849A0-156F-4F53-B368-BE09B8502DE0 / 2

(lldb)po图片

  

▿可选     -some:,{4032,3024}

已轮换:

(lldb)po资产:

  

0x10760df20> E8710CF9-BA53-49FA-8535-D2B41EFA7AF2 / L0 / 001   mediaType = 1/0,sourceType = 1,(4032x3024),creationDate = 2019-05-25   06:18:13 +0000,位置= 1,隐藏= 0,收藏夹= 0

(lldb)po图片

  

▿可选     -some:,{1500,1124}

资产的信息大小似乎正常,只有最终的uiimage大小不合适。

我尝试使用这些选项,但似乎没有关系。我尝试通过空投上传图片,大小似乎还可以,所以我一定做错了。

有没有什么想法可能会有所帮助?

0 个答案:

没有答案