方法
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