标签: uigraphicsrenderer

在 iOS 中截取带有标签和透明背景的视图并将其上传到服务器

我想截取一个视​​图并从中创建一个 UIImage 。我希望在我的图像中保留视图的透明度属性。我在创建 UIImage 的扩展后尝试了这种方法,但是当上传到服务器时,结果图像中的背景不透明。

如果我做错了什么,请帮助或指出我!!这意味着生成的 png 没有透明度。

class func createTransparentImageFrom(label: UILabel, imageSize: CGSize) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(imageSize, false, 2.0)
    let currentView = UIView.init(frame: CGRect(x: 0, y: 0, width: imageSize.width, height: imageSize.height))
    currentView.backgroundColor = UIColor.clear
    currentView.addSubview(label)

    currentView.layer.render(in: UIGraphicsGetCurrentContext()!)
    let img = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return img!
}
Run Code Online (Sandbox Code Playgroud)

uiimage ios uigraphicscontext swift uigraphicsrenderer

2
推荐指数
2
解决办法
1807
查看次数