在我从图像选择器中选择图像并尝试将 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
}
Image before
After selecting and setting it to image view
最佳答案
使用 PHImageRequestOptions.version = 调用
。然后,您可以从 requestImageDataForAsset
获取原始图像数据。原创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
}
关于ios - 将 PHAsset 转换为 UIImage 时失去透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38283416/