Swift将PHAsset转为UIImage

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitcser/article/details/78933570

新建一个swift  NSObject类,封装方法如下

import UIKit
import Photos
class SKPHAssetToImageTool: NSObject {
    @objc class func PHAssetToImage(asset:PHAsset) -> UIImage{
        var image = UIImage()
        
        // 新建一个默认类型的图像管理器imageManager
        let imageManager = PHImageManager.default()
        
        // 新建一个PHImageRequestOptions对象
        let imageRequestOption = PHImageRequestOptions()
        
        // PHImageRequestOptions是否有效
        imageRequestOption.isSynchronous = true
        
        // 缩略图的压缩模式设置为无
        imageRequestOption.resizeMode = .none
        
        // 缩略图的质量为高质量,不管加载时间花多少
        imageRequestOption.deliveryMode = .highQualityFormat
        
        // 按照PHImageRequestOptions指定的规则取出图片
        imageManager.requestImage(for: asset, targetSize: CGSize.init(width: 1080, height: 1920), contentMode: .aspectFill, options: imageRequestOption, resultHandler: {
            (result, _) -> Void in
            image = result!
        })
        return image
        
    }
}
传一个PHAsset就返回一个UIImage对象

猜你喜欢

转载自blog.csdn.net/bitcser/article/details/78933570