Swift 截取view 的固定区域并返回图片

创建 UIView 的Extension,见下图

extension UIView {
   //在这里面把下面代码粘贴进来,然后在你需要的地方调用即可
}

主要代码

  /**
    * @method 截取View一部分,产生新的图片
    *
    * @param  shotSize(要截取的区域)
    *
    * @return image(截取后的图片)
    */
   func screenShot(shotSize: CGSize) -> UIImage? {
       //1.开启上下文
       
       UIGraphicsBeginImageContextWithOptions(shotSize, false, 0)
       
       //2.绘制图形,把layer上的内容绘制到上下文当中
       
       self.layer.render(in: UIGraphicsGetCurrentContext()!)
       
       let newImage = UIGraphicsGetImageFromCurrentImageContext()
       
       //3.关闭上下文
       
       UIGraphicsEndImageContext()
       
       return newImage
   }

你可能感兴趣的:(Swift 截取view 的固定区域并返回图片)