Ios 请求图像时PHAssetManager是否忽略targetSize?

Ios 请求图像时PHAssetManager是否忽略targetSize?,ios,swift,image,photos,phasset,Ios,Swift,Image,Photos,Phasset,我有一个PHAssets列表,需要从中获取一定大小的图像 为了验证这一点,我给出了设备屏幕的大小 let manager = PHImageManager.default() let option = PHImageRequestOptions() option.isSynchronous = true for asset in assets { manager.requestImage(for: asse

我有一个
PHAssets
列表,需要从中获取一定大小的图像

为了验证这一点,我给出了设备屏幕的大小

        let manager = PHImageManager.default()
        let option = PHImageRequestOptions()
        option.isSynchronous = true

        for asset in assets {
            manager.requestImage(for: asset, targetSize: CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height), contentMode: .aspectFit, options: option, resultHandler: {(result, info)->Void in

                //prints the proper bounds for a screen
                print("width and height \(UIScreen.main.bounds.width) \(UIScreen.main.bounds.height)")

                //prints 2304.0 3072.0 for width and height respectively
                print("result size \(result!.size.width) \(result!.size.height)\n")

                self.photos.append(result!)
            })
        }
我需要将生成的照片剪切到我指定的大小,但它们的偏移量超过2000像素。我如何解决这个问题

option.resizeMode = .exact

为了更快地满足您的要求,照片可能会提供 略大于目标大小,因为这样的图像 已缓存,或者因为可以更高效地生成

因为您需要一个特定的尺寸,所以设置上述选项以强制请求遵守您的尺寸

照片会调整图像大小,使其与目标大小完全匹配

为了更快地满足您的要求,照片可能会提供 略大于目标大小,因为这样的图像 已缓存,或者因为可以更高效地生成

因为您需要一个特定的尺寸,所以设置上述选项以强制请求遵守您的尺寸

照片会调整图像大小,使其与目标大小完全匹配


我目前无法访问文档,但我似乎记得,当您同步获取图像时,每个图像可能会得到多个结果。回调中的信息可以告诉您给定的结果是否是最终结果。@matt它的意思正是它听起来的样子。实际图像的大小比请求的大小大2000多像素。请查看代码中每个打印语句上方的注释。打印的值是正确的there@rmaddy不,不适用于
isSynchronous=true
@matt,它位于后台线程上…@matt Right。当它是异步的时候,这就是我所说的。我目前没有访问文档的权限,但我似乎记得,当你同步获取图像时,你可能会得到每个图像的多个结果。回调中的信息可以告诉您给定的结果是否是最终结果。@matt它的意思正是它听起来的样子。实际图像的大小比请求的大小大2000多像素。请查看代码中每个打印语句上方的注释。打印的值是正确的there@rmaddy不,不适用于
isSynchronous=true
@matt,它位于后台线程上…@matt Right。它是异步的,这就是我所说的。
case exact