在将PHAsset转换为UIImage时失去透明度

O-m*_*kar 3 image uiimage ios swift phasset

从Image picker中选择一个图像并尝试将PHAsset转换为UIImage后,图像的png图像会失去透明度.我尝试到处寻找,但没有发现任何相关信息.

  func getAssetThumbnail(asset: PHAsset) -> UIImage {
        let manager = PHImageManager.defaultManager()
        let option = PHImageRequestOptions()
        var thumbnail = UIImage()
        option.synchronous = true
        manager.requestImageForAsset(asset, targetSize: CGSize(width: 341.0, height: 182.0), contentMode: .AspectFit, options: option, resultHandler: {(result, info)->Void in
            thumbnail = result!
        })
        return thumbnail
    }
Run Code Online (Sandbox Code Playgroud)

之前的形象

图像之前

选择并将其设置为图像视图后

选择并设置图像视图后

Luk*_* In 6

通过调用获取原始图像数据requestImageDataForAssetPHImageRequestOptions.version = . Original.然后,您可以从中创建图像UIImage(data: data).

例:

 func getThumbnail(asset: PHAsset) -> UIImage? {

    var thumbnail: UIImage?

    let manager = PHImageManager.defaultManager()

    let options = PHImageRequestOptions()

    options.version = .Original
    options.synchronous = true

    manager.requestImageDataForAsset(asset, options: options) { data, _, _, _ in

        if let data = data {
            thumbnail = UIImage(data: data)
        }
    }

    return thumbnail
}
Run Code Online (Sandbox Code Playgroud)