微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS_Swift_UIView指定区域截图

没有找到UIView直接指定区域截图的方法,本文实现的方法是先把UIView整个截图出来,然后剪裁获取指定的区域

UIView截图

         let scale:CGFloat = UIScreen.main.scale   // 设置屏幕倍率可以保证截图的质量

        UIGraphicsBeginImageContextWithOptions( self.frame.size, true, scale) 

        self.layer.render(in: UIGraphicsGetCurrentContext()!)

        let image = UIGraphicsGetimageFromCurrentimageContext();

        UIGraphicsEndImageContext();

 

图片剪裁

 

       // 假设要截取 Rect(100,100,100,100)的图片 各个值要 * 前面设置的scale 图片转为CGImage的时候会按这个比例放大 具体原因未知

        let rect = CGRect.init(x: 100 * scale, y: 100 * scale, width: 100 * scale, height: 100 * scale)

        let imageRef = image?.cgImage;

        let subImageRef = imageRef!.cropping(to: rect);

         return UIImage(cgImage: subImageRef!)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐