iOS 截屏, 获得普通view和ScrollView的UIImage (Swift 4)

/****************************截屏**************************************/
//MARK: 截屏
///截屏 View
func screenImageWithView(cutView: UIView)-> UIImage {
    //截屏区域;是否透明;清晰度
    var image = UIImage()
    UIGraphicsBeginImageContextWithOptions(cutView.frame.size, true, UIScreen.main.scale)
    cutView.layer.render(in: UIGraphicsGetCurrentContext()!)
    image = UIGraphicsGetImageFromCurrentImageContext()!
    UIGraphicsGetCurrentContext()
    return image
}

//MARK: 截屏scrollview
/// 截屏scrollview
func cutFullImageWithView(scrollView:UIScrollView) -> UIImage {
    // 记录当前的scrollView的偏移量和坐标
    let currentContentOffSet:CGPoint = scrollView.contentOffset
    let currentFrame:CGRect = scrollView.frame;
    
    // 设置为zero和相应的坐标
    scrollView.contentOffset = CGPoint.zero
    scrollView.frame = CGRect.init(x: 0, y: 0, width: scrollView.frame.size.width, height: scrollView.frame.size.height)
    
    // 参数①:截屏区域  参数②:是否透明  参数③:清晰度
    UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, true, UIScreen.main.scale)
    scrollView.layer.render(in: UIGraphicsGetCurrentContext()!)
    let image:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
    
    // 重新设置原来的参数
    scrollView.contentOffset = currentContentOffSet
    scrollView.frame = currentFrame
    
    UIGraphicsEndImageContext()
    
    return image
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值