透明背景变成白色

时间:2018-12-20 03:25:34

标签: ios swift firebase uiimageview

我正在将具有透明背景的图像上传到Firebase。当我以某种方式下载时,背景变成白色。任何想法如何解决这个问题?

这是我的putData函数。

let uploadData = imageview.image!.jpegData(compressionQuality: 0.75)
let uploadTask = imagesRef.putData(uploadData!, metadata: nil, completion: { (metadata, error) in
    guard let metadata = metadata else {
        return
    } 

这是下载功能。

URLSession.shared.dataTask(with: NSURL(string: imageURL as! String)! as URL, completionHandler: { (data, response, error) -> Void in
    if error != nil {
        print("ERROR LOADING IMAGES FROM URL: \(String(describing: error))")
        DispatchQueue.main.async {
            imageView.image = UIImage()
        }
        return
    }

    DispatchQueue.main.async {
        if let downloadedImage = UIImage(data: data!) {
            imageCache.setObject(downloadedImage, forKey: NSString(string: imageURL!))
            imageView.image = downloadedImage
        }
    }
}).resume()

1 个答案:

答案 0 :(得分:3)

  

我正在将具有透明背景的图像上传到Firebase。的   我以某种方式下载时背景变成白色。任何想法如何   解决这个问题?

您做对了,只是获得了 JPEG 而不是 PNG 数据;)请记住,JPEG不支持透明BG。

希望有帮助!