在将PHAsset转换为UIImage时失去透明度 [英] While converting PHAsset to UIImage losing transparency
本文介绍了在将PHAsset转换为UIImage时失去透明度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从Image选取器中选择图像并尝试将PHAsset转换为UIImage图像后,png图像的透明度将会下降。
我尝试到处搜索,但没有发现任何相关内容。
After I pick an image from Image picker and try to convert PHAsset to UIImage image is losing transparency of the png Image. I tried searching everywhere but didn't find anything about it.
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
推荐答案
通过调用 requestImageDataForAsset $获取原始图像数据c $ c> with
PHImageRequestOptions.version =。原始
。然后,您可以从 UIImage(数据:数据)
创建图像。
Get the original image data by calling requestImageDataForAsset
with PHImageRequestOptions.version = . Original
. You can then create the image from 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
}
这篇关于在将PHAsset转换为UIImage时失去透明度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文