============================================================
博文原创,转载请声明出处
电子咖啡(原id蓝岩)
============================================================

分享一段屏幕截图的代码,能够截图普通的button,image,等。

对于截取摄像头的图像,比较复杂,因为摄像头是通过opengl渲染到view上面的,通过下面的代码并不能截取。

就像我们远程登录了另一台windows电脑时候,能看到对方的桌面等,但对方的视频我们并不能看到。

关于截取opengl view的方法,我会在另一篇博客中记录:

IOS屏幕截图---Opengl截屏

我已经在我的工程中测试过,可以使用

//普通屏幕截取

首先引入头:

#include <QuartzCore/QuartzCore.h>
/**
@view  the view you want to take screen shot
*/
-(UIImage*)getNormalImage:(UIView*)view{UIGraphicsBeginImageContext(CGSizeMake(320,480));CGContextRef context = UIGraphicsGetCurrentContext();[view.layer renderInContext:context];UIImage *image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return image;
}

//将UIIamge存储到相册中

//store the image to the iphone photo album
UIImage *image =nil;
// init your image
UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);

//存储UIImage到本地磁盘,包括png和jpeg格式

//store the image to the app Document
-(void)saveToDisk:(UIImage*) image{NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];// If you go to the folder below, you will find those picturesNSLog(@"%@",docDir);NSLog(@"saving png");NSString *pngFilePath = [NSString stringWithFormat:@"%@/test%f.png",docDir,[NSDate timeIntervalSinceReferenceDate]];NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];[data1 writeToFile:pngFilePath atomically:YES];NSLog(@"saving jpeg");NSString *jpegFilePath = [NSString stringWithFormat:@"%@/test%f.jpeg",docDir,[NSDate timeIntervalSinceReferenceDate]];NSData *data2 = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0f)];//1.0f = 100% quality[data2 writeToFile:jpegFilePath atomically:YES];NSLog(@"saving image done");}

ref:

Download an Image and Save it as PNG or JPEG in iPhone SDK ‹ ObjectGraph Blog

iphone - Why do I get 'No -renderInContext: method found' warning? - Stack Overflow

iphone - Programmatically take a screenshot combining OpenGL and UIKit elements - Stack Overflow

iPhone – saving OpenGL ES content to the Photo Album | BIT-101

opengl es - Why is glReadPixels() failing in this code in iOS 6.0? - Stack Overflow

IOS屏幕截图---普通截图相关推荐

  1. 【UE4】屏幕截图/全景截图

    桌面截图 / 屏幕截图 标准截图 控制台命令 Shot(默认按键绑定为 F9) 存储路径:"Saved\Screenshots\Windows". 截取UE4独立游戏窗口(不包含程 ...

  2. iOS屏幕截图,裁切图片(制作头像),添加图片水印(Quarz2D)

    屏幕截图 //扩展分类使用 @implementation UIImage (Clip) + (instancetype)captureWithView:(UIView *)view {// 1.开启 ...

  3. 【iphone4 iOS4+升级到 iOS 5 beta7详细过程与iOS 5系统截图】-Himi升级iOS 5 beta7 流程

    Himi 原创, 转载请注明出处,谢谢! 原文地址:http://blog.csdn.net/xiaominghimi/article/details/6289625 (警告:因为当前iOS 5属于b ...

  4. iOS 屏幕截图总结

    按屏幕截图,即全屏截图 - (void)doScreenShot{// 开启图片上下文UIGraphicsBeginImageContextWithOptions(self.view.bounds.s ...

  5. ios 获取视频截图

    #pragma mark -- 获取视频截图 - (UIImage *)getThumbnailImage:(NSString *)videoURL{     AVURLAsset *asset = ...

  6. 解决低版本ios使用html2canvas截图空白问题

    最近做H5项目用html2canvas来截取保存当前页面的功能,然后在最新的ios版本的手机上一切正常,然而在ios10以下版本的手机拿不到截取的图片. html2canvas(this.$refs. ...

  7. electron 剪贴板 截图_用electron开发了一个屏幕截图工具

    前段时间做了一个钉钉的Linux版本,由于是基于网页版做的,所以缺失了很多桌面应用程序的功能.由于使用的用户多是Linux的用户,所以在Linux的截图功能没有,在几个用户的要求下决定做一个截图功能. ...

  8. snipaste滚动截图方法_百度终于良心一回,出了一款ios长截图神器!

    今天给大家带来两款好用的截图软件,一个是iOS端,一个是PC端的. 1.滚动截长图(IOS) 大家都知道iOS系统本身是没有长截图工具的,所以只能借助第三方的软件才可以实现这个功能. 滚动截长图是一款 ...

  9. iOS模拟器iOS Simulator详细图文使用教程

    iOS模拟器,是在Mac下面开发程序时,开发iOS平台的程序时候,可以使用的辅助工具.iOS Simulator 是Xcode的一部分,Xcode是苹果自家的iOS开发程序,可以免费下载! iOS S ...

最新文章

  1. vue 发展历程时间轴动画_PPT时间轴如何做出创意感?海量素材免费分享,网友:收藏...
  2. Shell环境变量以及set,env,export的区别
  3. 【谷歌】Google Chrome 浏览器中 font-size 12px 没有效果
  4. firebase使用_使用Firebase进行物联网原型设计:如何事半功倍
  5. 【机房收费系统】---结账
  6. 【语音识别】基于支持向量机SVM实现脑电信号分期睡眠监测matlab 源码
  7. 介绍鲜花视频的html模板,HTML黄色欧美形式鲜花介绍网页模板代码
  8. 计算机毕设应用型开题报告,毕设开题报告范文.doc
  9. 关于Pearson相关性系数、Cosine相似度、欧式距离
  10. 1072. 开学寄语
  11. Linux下连接mongoDB出现no reachable servers以及mongoDB创建用户
  12. springboot+vue校园新闻网站(源码+说明文档)
  13. UML类图属性和相关关系
  14. 微信黑名单已经删除的人怎么找回来?这些步骤挨个试试!
  15. MacOS上高效管理SSH服务器-Core Shell
  16. Github/gitee 上传文件最大100MB限制this exceeds file size limit of 100.0 MB
  17. hadoop103 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
  18. Greenplum upgrade from 4.3.4.1 to 4.3.30.0 准备工作
  19. 第十三章 使用动态SQL(一)
  20. ART–KOHONEN neural network for fault diagnosis of rotating machinery(翻译)

热门文章

  1. 雷军宣布小米支持鸿蒙,雷军宣布1080亿后!华为现金流被质疑!中兴、小米员工态度不同!...
  2. 独立开发变现周刊(第80期):Notion页面转成网站客服小部件,月收入5K美金
  3. 性能安全并重 实战英特尔MatrixRAID组建
  4. fastapi获取访客真实ip
  5. Unity 生成全景图
  6. 【论文翻译】Fully Convolutional Networks for Semantic Segmentation
  7. 1032-大象喝水查
  8. [渝粤教育] 广东-国家-开放大学 21秋期末考试中国法律史10212k1
  9. 侯明哲老师-沪师经纪
  10. 2021江西高考成绩查询入口已开通,2021年江西省高考成绩查询系统入口【官网】...