iOS屏幕截屏

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //开启位图上下文
    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0);
    //获取上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    //把控件上的图层渲染到上下文(图层只能渲染不能绘制)
    [self.view.layer renderInContext:ctx];
    //生产一张图片
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    //关闭上下文
    UIGraphicsEndImageContext();
    //把图片转化成二进制PNG
    NSData *imageData = UIImagePNGRepresentation(image);
    //写入到桌面
    [imageData writeToFile:@"/Users/zhaotian/Desktop/view.png" atomically:YES];

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

  

时间: 2024-10-12 20:23:54

iOS屏幕截屏的相关文章

iOS中的截屏(屏幕截屏及scrollView或tableView的全部截屏)

iOS中的截屏(屏幕截屏及scrollView或tableView的全部截屏) 2017.03.16 12:18* 字数 52 阅读 563评论 4喜欢 2 1. 截取屏幕尺寸大小的图片并保存至相册 保存至相册只需将方法saveImage中的代码替换即可 UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, YES, 0.0); [self.view.layer renderInContext:UIGraphicsGetCur

IOS手机截屏

IOS手机截屏 主要步骤 1.创建一个图形上下文      2.将屏幕绘制到其中 3.保存图片到相册       4.关闭图形上下文 IOS手机截屏 具体实现 - (IBAction)truncation:(UIButton *)sender { // 延迟2 秒之后再截屏    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

Java邮件发送与屏幕截屏

前几天七夕情人节孤独寂寞的程序猿闲来没事,花了一两个小时写了个小Demo主要实现Java的Mail发送功能和桌面截屏功能. 首先让我们先看看Java sendMail邮件发送和桌面屏幕截屏功能是怎么实现的基础知识. 一.Java  SendMail邮件发送 首先让我们来看看邮件发送的原理图: JavaMail 是一套sun 提供开发邮件收发程序API,JavaMail编写程序就是邮件客户端程序(和outlook.foxmail功能类似) * JavaMail开发需要类库 javamail API

超好用的滚动屏幕截屏工具FastStone Capture

对于超级喜欢整理的技术控,一看到比较好技术文章就想收集下来,单纯的记录网页,又怕作者删除,我只能选择截图,可是有许多文章特别长,直到使用FastStone Capture截图工具,终于可以快速收集这些技术文章了. 1.截图工具是这样的 2.比较好用的滚动截屏使用方法: 图中第六个图标. 1)点击后,可以拖动窗口进行大范围的截图,比如可以将浏览器的网页做为截图对象,截取时,点击选取滚动条箭头就可以完成截图,ESC中断截图滚动! 2)在选定滚动截图图标后还可以按ctrl键进行滚动区域的选择. 3.图

IOS开发—截屏

- (void)actionShot:(UIButton *)sender{ //可以隐藏按钮,渲染完后显示回来 self.buttonShot.hidden =YES; //创建图形上下文 UIGraphicsBeginImageContextWithOptions(CGSizeMake(self.view.frame.size.width,self.view.frame.size.height),NO, 0); //获取图形上下文并将当前屏幕渲染到图形上下文上 AppDelegate *de

iOS应用截屏

iPhone自从推出后就自带了截屏功能,简单而易用,所以应用就没什么截屏的需求了,不过有些时候我们还是会遇到这个需求.比如,我们开发了一个播放器,用openGL进行video render,此时直接截屏有可能有OSD叠加内容,所以希望能截完全是视频的帧,这时就需要应用自己来实现了. 从应用角度看,虽说都是截屏,但用不用openGL是不同的,因为openGL是直接写GPU frame buffer的,如果我们是直接用UIController来用做的界面: [objc] view plaincopy

iOS开发--截屏

- (void)snapshotScreen:(UIView *)myView {    CGSize size = myView.bounds.size;    UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);    CGRect rect = myView.frame;    //  自iOS7开始,UIView类提供了一个方法-drawViewHierarchyInRect:afte

ios xcode真机调试获取屏幕截屏

非常多时候我们须要在调试的过程中把手机屏幕截图发给其它人看,在android开发中我们能够非常方便的截图保存.而xcode开发ios的时候发现这个需求却如此困难.网上大部分都是介绍的以下这个方案.可是我在xcode 6.2中却不能使用. 1.进入xcode 2.右上角的[Origanizer] 3.左边project下的[Screenshots] 4.xcode右下角的[New Screenshots] 而我无意中发现还有一种办法是可行的 1.进入xcode 2.点击上面一排的Window 3.

iOS当前屏幕截屏

需求描述: 有两个ViewController 我们记做 A.B ,其中B controller只是显示下半部分: 如下图效果: 实现这种的方案很多,可以用添加View方法,  也可以用UIWindows 来实现. 但是我这边是想用presentViewController 实现,但是A present  B之后,之前的A就会消失,不会和B 覆盖显示,因此就相当了截取A试图之后在present B. 具体看看实现方案吧: 方法一: 这个方法获取的到图片不会失真 1 -(UIImage *)cap