PHAsset to UIImage

后端 未结 9 2078
不思量自难忘°
不思量自难忘° 2020-12-07 22:23

I\'m attempting to create a UIImage (like a thumbnail or something) from a PHAsset so that I can pass it into something that takes a UIImage. I\'ve tried adapting solutions

9条回答
  •  不知归路
    2020-12-07 22:45

    Swift 4.

    resizeMode,deliveryMode - These can be set according to user requirement.

    isNetworkAccessAllowed - set this to "true" for fetching images from the cloud

    imageSize- required image size

    func getImageFromAsset(asset:PHAsset,imageSize:CGSize, callback:@escaping (_ result:UIImage) -> Void) -> Void{
    
        let requestOptions = PHImageRequestOptions()
        requestOptions.resizeMode = PHImageRequestOptionsResizeMode.fast
        requestOptions.deliveryMode = PHImageRequestOptionsDeliveryMode.highQualityFormat
        requestOptions.isNetworkAccessAllowed = true
        requestOptions.isSynchronous = true
        PHImageManager.default().requestImage(for: asset, targetSize: imageSize, contentMode: PHImageContentMode.default, options: requestOptions, resultHandler: { (currentImage, info) in
            callback(currentImage!)
        })
    }
    

提交回复
热议问题