ios截屏代码[转]
http://www.cnblogs.com/chenxiangxi/p/3547974.html
这位博主的连接中将ios自定义大小位置的截屏代码写的很不错,马上就能用的方法,对于只想马上用的程序员很有帮助
http://www.2cto.com/kf/201310/250228.html
我将其改为以下代码:

1 #pragma mark -=====自定义截屏位置大小的逻辑代码=====-
2 static int ScreenshotIndex=0; //这里的逻辑直接采用上面博主的逻辑了
3 -(void)ScreenShot{
4 //这里因为我需要全屏接图所以直接改了,宏定义iPadWithd为1024,iPadHeight为768,
5 // UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0); //设置截屏大小
6 UIGraphicsBeginImageContextWithOptions(CGSizeMake(iPadWidth, iPadHeight), YES, 0); //设置截屏大小
7 [[self.view layer] renderInContext:UIGraphicsGetCurrentContext()];
8 UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
9 UIGraphicsEndImageContext();
10 CGImageRef imageRef = viewImage.CGImage;
11 // CGRect rect = CGRectMake(166, 211, 426, 320);//这里可以设置想要截图的区域
12 CGRect rect = CGRectMake(0, 0, iPadWidth, iPadHeight);//这里可以设置想要截图的区域
13 CGImageRef imageRefRect =CGImageCreateWithImageInRect(imageRef, rect);
14 UIImage *sendImage = [[UIImage alloc] initWithCGImage:imageRefRect];
15 UIImageWriteToSavedPhotosAlbum(sendImage, nil, nil, nil);//保存图片到照片库
16 NSData *imageViewData = UIImagePNGRepresentation(sendImage);
17
18 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
19 NSString *documentsDirectory = [paths objectAtIndex:0];
20 NSString *pictureName= [NSString stringWithFormat:@"screenShow_%d.png",ScreenshotIndex];
21 NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:pictureName];
22 NSLog(@"截屏路径打印: %@", savedImagePath);
23 //这里我将路径设置为一个全局String,这里做的不好,我自己是为了用而已,希望大家别这么写
24 [self SetPickPath:savedImagePath];
25
26 [imageViewData writeToFile:savedImagePath atomically:YES];//保存照片到沙盒目录
27 CGImageRelease(imageRefRect);
28 ScreenshotIndex++;
29 }
30 //设置路径
31 - (void)SetPickPath:(NSString *)PickImage {
32 _ScreenshotsPickPath = PickImage;
33 }
34 //获取路径<这里我就直接用于邮件推送的代码中去了,能达到效果,但肯定有更好的写法>
35 - (NSString *)GetPickPath {
36 return _ScreenshotsPickPath;
37 }

ios截屏代码[转]的更多相关文章
- iOS截屏代码
转载自:http://m.open-open.com/m/code/view/1420469506375 1.普通界面 /** *截图功能 */ -(void)screenShot{ UIGraphi ...
- ios摇一摇截屏代码
#import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...
- iOS 截屏分享(包含状态栏与不包含状态栏)
iOS8以上的新方法PhotoKit 监听截图相册变化,取最后一张图片:http://www.hangge.com/blog/cache/detail_1515.html PhotoKit 获取本机相 ...
- iOS截屏功能
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // ...
- 【转】Android 音量键+电源键 截屏代码小结
http://104zz.iteye.com/blog/1752961 原文地址:http://blog.csdn.net/hk_256/article/details/7306590 ,转载请注明出 ...
- iOS截屏保存至相册
#pragma mark 截屏并保存至相册 -(void)screenShotsComplete:(void(^)(UIImage * img)) complete { CGSize imageSiz ...
- iOS截屏并修改截图然后分享的功能实现
一. 实现的效果类似微博的截图分享 不仅截图分享的时候还进行图片的修改,增加自己的二维码 二.实现方式 苹果在ios7之后提供了一个新的通知类型:UIApplicationUserDidTakeScr ...
- iOS截屏方法
//获取屏幕截屏方法 - (UIImage *)capture { // 创建一个context UIGraphicsBeginImageContextWithOptions(self.view.bo ...
- IOS 截屏(保存到相册中)
@interface NJViewController () /** * 点击截屏按钮 */ - (IBAction)captureView:(UIButton *)sender; /** * 白色v ...
随机推荐
- poj 2579 中位数问题 查找第K大的值
题意:对列数X计算∣Xi – Xj∣组成新数列的中位数. 思路:双重二分搜索 对x排序 如果某数大于 mid+xi 说明在mid后面,这些数的个数小于 n/2 的话说明这个中位数 mid 太大 反之太 ...
- 笔记-docker-3 使用
笔记-docker-3 使用 1. 镜像 image是docker最重要的概念,docker运行容器前需要本地存在对应的镜像,如果没有,会尝试从默认镜像库下载. 1.1. 镜像获取 查 ...
- Android 中的反调试技术
比较简单的有下面这两种 调试端口检测, 23946(0x5D8A) Demo: void CheckPort23946ByTcp() { FILE* pfile=NULL; char buf[0x10 ...
- salt demo 环境
demo 环境 安装 virtualBox和vagrant 安装工具包:virtualBox, vagrant 下载 https://github.com/UtahDave/salt-vagrant- ...
- 15,redis基础学习
redis Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件 yum安装redis 1.yum安装 #前提得配置好阿里云yum源,epel源 #查看 ...
- cocos2d-x 3.0的入门程序:helloworld
看过了这么多不同方向的应用,发现很多程序入门都是helloworldhelloworld是所有程序员的绝对初恋 先看一下程序的运行结果吧 然后就是他的工程代码 工程的目录有两个 Classes:程序中 ...
- 获取<考试>博文密码!o(*≧▽≦)ツ
就是CJ高二组通用的密码 如果你想知道,请联系QQ,3057244225,或者直接面对面问博主(...) 是我们的内部材料,原创题目是不能外传的.请谅解. 当然如果是原题的话我们是不会上锁的啦
- Windows下zookeeper注册中心的安装和启动
zookeeper的安装支持单机模式和集群模式 下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/,当前稳定版本为3.4.8 单机模式 修改zoo ...
- elasticsearch安装教程
目录 1 java8 环境 2 安装elasticsearch 3 安装kibana 4. 单服务器部署多个节点 参考: 1 java8 环境 elasticsearch需要安装java 8 环境,配 ...
- ajax向Asp.NET后端传递数组型数据
近日,在开发一个组件的过程中,需要通过Ajax对象向Asp.NET后端传递一个比较复杂的表单,表单中的一个字段是数组类型,我能想到的办法是用JSON.stringify将前端的数组对象序列化成字符串, ...