iOS_截屏并裁剪

截图使用场景:



iOS 7中的代码代段

// 使用上下文截图,并使用指定的区域裁剪,模板代码
- (void)screenShot
{// 将要被截图的view,即窗体的根控制器的view(必须不含状态栏,默认ios7中控制器是包括了状态栏的)BeyondViewController *beyondVC = self.view.window.rootViewController;// 背景图片 总的大小CGSize size = beyondVC.view.frame.size;// 开启上下文,使用參数之后,截出来的是原图(YES  0.0 质量高)UIGraphicsBeginImageContextWithOptions(size, YES, 0.0);// 裁剪的关键代码,要裁剪的矩形范围CGRect rect = CGRectMake(0, -20, size.width, size.height + 20 );//注:iOS7以后renderInContext:由drawViewHierarchyInRect:afterScreenUpdates:替代[beyondVC.view drawViewHierarchyInRect:rect  afterScreenUpdates:NO];// 从上下文中,取出UIImageUIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();// 加入截取好的图片到图片数组[_cutImages addObject:snapshot];// 千万记得,结束上下文(移除栈顶上下文)UIGraphicsEndImageContext();}


iOS 6中的代码片段

// 使用上下文截图,模板代码
- (void)screenShot3
{// 将要被截图的view,窗体的根控制器的view(iOS6,默认控制器不含状态栏)BeyondViewController *beyondVC = self.view.window.rootViewController;UIView *cutView = beyondVC.view;// 开启上下文,使用參数之后,截出来的是原图(YES  0.0 质量高)UIGraphicsBeginImageContextWithOptions(cutView.frame.size, YES, 0.0);// 将cutView的图层渲染到上下文中[cutView.layer renderInContext:UIGraphicsGetCurrentContext()];// 取出UIImageUIImage *image = UIGraphicsGetImageFromCurrentImageContext();// 加入截取好的图片到图片数组[_cutImages addObject:image];// 千万记得,结束上下文UIGraphicsEndImageContext();
}

转载于:https://www.cnblogs.com/wzjhoutai/p/6898824.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工作总结9:vue处理token

最开始后端来和我说 token 时候, 虽然装着很懂的样子,但当时我听的是一脸懵逼 之前学习的时候,根本没接触过token, 后来查了一些资料,终于明白了token 的原理,以及应用。 token 原理 token 的意思是 令牌…

Day7: Linux基础片:系统监控

一下1,2,3,4分别代表截图中第一行,第二行,第三行,第四行表示的内容 top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 当前时间&#xff0c…

201521123121 《Java程序设计》第14周学习总结

1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。 数据库的基本特点 1、实现数据共享 数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享…

day02-java关键字

转载于:https://www.cnblogs.com/tantanba/p/6917959.html

前端学习(2439):jsonbin-init的使用

const str {"id":1253585734669959168} console.log(JSONbig.parse(str)) console.log(JSON.parse(str).id.toString()) const data JSON.stringify(str) console.log(JSONbig.parse(data)) console.log(JSONbig.stringify(data))

Hadoop生态系统学习路线

主要介绍Hadoop家族产品,经常使用的项目包含Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa。新添加的项目包含,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。从2011年開始。中国进入大数…

前端学习(2440):axios处理文章数据

request.js <template> <div class"artical-container"><!--卡片--><el-card class"filter-card"><div slot"header" class"clearfix"><!--面包屑导航--><el-breadcrumb separator-class&quo…

【转】java提高篇(二)-----理解java的三大特性之继承

【转】java提高篇(二)-----理解java的三大特性之继承 原文地址&#xff1a;http://www.cnblogs.com/chenssy/p/3354884.html 在《Think in java》中有这样一句话&#xff1a;复用代码是Java众多引人注目的功能之一。但要想成为极具革命性的语言&#xff0c;仅仅能够复制代码并对…

免费生成https证书以及配置

http升级到https需要在nginx的配置中加入证书信息,查询资料后确定生成证书两种方案第一种:自签名证书,然后开启 CloudFlare 的 CDN 服务 //确定是否安装opensslwhich openssl//如果没有安装,通过apt-get或者yum等方式安装即可sudo apt-get install openssl//生成一个名为“ssl.…

前端学习(2441):删除处理完成

request.js <template> <div class"artical-container"><!--卡片--><el-card class"filter-card"><div slot"header" class"clearfix"><!--面包屑导航--><el-breadcrumb separator-class&quo…