swift -> UIView 转 UIImage 并 保存, WkWebView转UIImage

 

方法

 

    func viewToImg(v:UIView)->UIImage{
        UIGraphicsBeginImageContext(v.bounds.size);
        v.layer.render(in: UIGraphicsGetCurrentContext()!);
        let img:UIImage = UIGraphicsGetImageFromCurrentImageContext()!;
        UIGraphicsEndImageContext();
        return img;
    }

 

图片模糊问题

 

UIGraphicsBeginImageContext(v.bounds.size);
改成
//是否透明, 屏幕密度(UIScreen.main.scale)
UIGraphicsBeginImageContextWithOptions(v.bounds.size, true, UIScreen.main.scale*0.9)

 

 

使用 .

        let l = UIView(frame: CGRect(x: 60, y: 100, width: 100, height: 100));
        l.backgroundColor = UIColor.blue;
        
        let t = UILabel(frame: CGRect(x: 20, y: 20, width: 50, height: 50));
        t.backgroundColor = UIColor.gray;
        t.text = "F";
        t.font = UIFont.systemFont(ofSize: 20);
        t.alpha  = 0.5
        l.addSubview(t)
        self.view.addSubview(l);
        
        
        ///
        
        let img = viewToImg(v: l);
        let dt:String = NSHomeDirectory().appending("/Documents/").appending("2.png") as String;
        print(dt);
        try? UIImagePNGRepresentation(img)?.write(to: URL(fileURLWithPath: dt))
      
        

 

 

** WKWebview 转 UIIMage

https://github.com/dudongge/DDGScreenShot

https://github.com/dudongge/DDGScreenShot/blob/master/DDGScreenShot/DDGWKWebViewShot.swift

https://github.com/dudongge/DDGScreenShot/blob/master/DDGScreenShot/DDGScreenShot/WKWebView%2BDDGShot.swift

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值