透明背景变白

问题描述 投票:0回答:2

我正在将具有透明背景的图像上传到 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()
ios swift firebase uiimageview
2个回答
6
投票

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

你做得对,只是你得到的是 JPEG 而不是 PNG 数据;)请记住,JPEG 不支持透明 BG。

希望有帮助!


0
投票

我遇到了这个问题,PNG 通常更大,因此存储成本更高 - 如果可以的话,请在上传之前调整它们的大小以减小大小或使用压缩库

© www.soinside.com 2019 - 2024. All rights reserved.