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截屏代码[转]的更多相关文章

  1. iOS截屏代码

    转载自:http://m.open-open.com/m/code/view/1420469506375 1.普通界面 /** *截图功能 */ -(void)screenShot{ UIGraphi ...

  2. ios摇一摇截屏代码

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  3. iOS 截屏分享(包含状态栏与不包含状态栏)

    iOS8以上的新方法PhotoKit 监听截图相册变化,取最后一张图片:http://www.hangge.com/blog/cache/detail_1515.html PhotoKit 获取本机相 ...

  4. iOS截屏功能

    代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // ...

  5. 【转】Android 音量键+电源键 截屏代码小结

    http://104zz.iteye.com/blog/1752961 原文地址:http://blog.csdn.net/hk_256/article/details/7306590 ,转载请注明出 ...

  6. iOS截屏保存至相册

    #pragma mark 截屏并保存至相册 -(void)screenShotsComplete:(void(^)(UIImage * img)) complete { CGSize imageSiz ...

  7. iOS截屏并修改截图然后分享的功能实现

    一. 实现的效果类似微博的截图分享 不仅截图分享的时候还进行图片的修改,增加自己的二维码 二.实现方式 苹果在ios7之后提供了一个新的通知类型:UIApplicationUserDidTakeScr ...

  8. iOS截屏方法

    //获取屏幕截屏方法 - (UIImage *)capture { // 创建一个context UIGraphicsBeginImageContextWithOptions(self.view.bo ...

  9. IOS 截屏(保存到相册中)

    @interface NJViewController () /** * 点击截屏按钮 */ - (IBAction)captureView:(UIButton *)sender; /** * 白色v ...

随机推荐

  1. 为什么C++编译器不能支持对模板的分离式编译

    首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个 ...

  2. Linux 安装github并配置ssh

    首先,你得有个github帐号. 1.用apt-get install git的方式安装git test@er:/$ sudo add-apt-repository ppa:git-core/ppa ...

  3. 10,before_request 和 after_request

    Flask我们已经学习很多基础知识了,现在有一个问题 我们现在有一个 Flask 程序其中有3个路由和视图函数,如下: from flask import Flask app = Flask(__na ...

  4. mt_vqmon异常数据分析

    mt_vqmon异常数据分析 1.首缓冲时间值异常(1) 分析:当第一个m3u8请求时,已经记录request时间,1423716972224, 正常情况会立即请求分片列表. 上述图表明请求了一个m3 ...

  5. SetConsoleCtrlHandler

    Excerpt: Registering a Control Handler Function   This is an example of the SetConsoleCtrlHandler fu ...

  6. 剑指Offer - 九度1387 - 斐波那契数列

    剑指Offer - 九度1387 - 斐波那契数列2013-11-24 03:08 题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.斐波那契数列的定义如下: ...

  7. 【APUE】Chapter12 Thread Control

    今天看了APUE的Chapter12 Thread Control的内容,记录一下看书的心得与示例code. 这一章的内容是对Chapter11 Threads(见上一篇日志)的补充,大部分内容都是理 ...

  8. 每天一个Linux命令(11):cat命令

    cat命令连接文件并打印到标准输出设备上. 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容.因此,一般用more等命令分屏显示.为了控制滚屏,可以按Ctrl+S键,停止滚 ...

  9. 孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块

    孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.datetime模块 dateti ...

  10. CSU-2110 Keeping Cool

    题目链接 http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=2110 题目 Description Kevin has just got ...