将WKWebView转换为CIImage

时间:2018-04-18 08:37:49

标签: ios swift

我想将WKWebViewUIWebView转换为CIImage。 我该怎么办?

UIGraphicsBeginImageContext(image.extent.size)
self.webview.layer.render(in:UIGraphicsGetCurrentContext()!)
let result: CIImage = CIImage(image: 
UIGraphicsGetImageFromCurrentImageContext()!, options: nil)!
    UIGraphicsEndImageContext()

我是这样做的,但它不起作用。我希望UIWebView的内容会显示在CIImage中。已显示背景颜色。

1 个答案:

答案 0 :(得分:0)

这可以通过两个步骤实现:

  1. WKWebView(基类为UIView)转换为UIImageView

    extension UIImage {
        convenience init(view: UIView) {
            UIGraphicsBeginImageContext(view.frame.size)
            view.layer.render(in:UIGraphicsGetCurrentContext()!)
            let image = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            self.init(cgImage: image!.cgImage!)
        }
    }  
    
  2. 将从步骤1收到的UIImage转换为CIImage

    let ciimage = CIImage(image: image)