Quartz2D截屏

简介:

#import "ViewController.h"
 
@interface ViewController ()
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor=[UIColor yellowColor];
    UIButton *btn=[UIButton buttonWithType:UIButtonTypeSystem];
    [btn setTitle:@"按钮" forState:UIControlStateNormal];
    btn.frame=CGRectMake(30, 100, 40, 20);
    [btn setTintColor:[UIColor blackColor]];
     [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    [btn addTarget:self action:@selector(btnclick:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
    
}
-(void)btnclick:(id)sender
{
    //延迟2秒执行
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int16_t)2*NSEC_PER_SEC), dispatch_get_main_queue(), ^{
        //UIGraphicsBeginImageContext参考 http://blog.sina.com.cn/s/blog_5fb39f9101017n1v.html
        UIGraphicsBeginImageContext(self.view.frame.size);
        [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
        UIImage *img=UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        //保存到相册
        UIImageWriteToSavedPhotosAlbum(img, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
        //保存到指定路径中
//        NSString *path = [[NSHomeDirectory()stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:@"image.png"];
//        NSLog(@"%@",path);
//        NSData *data=UIImagePNGRepresentation(img);
//        [data writeToFile:path atomically:YES];
    });
}
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
    if (error==nil) {
        NSLog(@"ok");
    }
    else
    {
        NSLog(@"error");
        NSLog(@"%@",error);
    }
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
@end

相关文章
|
文字识别 Java API
SpringBoot+Tess4j实现牛逼的OCR识别工具
SpringBoot+Tess4j实现牛逼的OCR识别工具
1694 0
SpringBoot+Tess4j实现牛逼的OCR识别工具
|
3月前
|
文字识别 安全 Java
SpringBoot3.x和OCR构建车牌识别系统
本文介绍了一个基于Java SpringBoot3.x框架的车牌识别系统,详细阐述了系统的设计目标、需求分析及其实现过程。利用Tesseract OCR库和OpenCV库,实现了车牌图片的识别与处理,确保系统的高准确性和稳定性。文中还提供了具体的代码示例,展示了如何构建和优化车牌识别服务,以及如何处理特殊和异常车牌。通过实际应用案例,帮助读者理解和应用这一解决方案。
|
7月前
|
Java 机器人 BI
基于Swing实现的截屏工具
基于Swing实现的截屏工具
35 0
|
8月前
|
Java 关系型数据库 MySQL
基于springboot广场舞团系统
基于springboot广场舞团系统
|
8月前
|
测试技术
quartz工具类含倒计时
quartz工具类含倒计时
75 0
|
前端开发 JavaScript 搜索推荐
JAVA带编辑器医院电子病历管理系统源码 springboot框架
Java电子病历系统技术说明 1、技术选型 :本电子病历系统采用前后端分离模式开发和部署。 2、前端技术:原生HTML、JS、CSS,Jquery、BootStrap、layui、Swf插件、Clipboard剪切板、 Echarts、PagedJS打印插件、Prince打印插件、Wkhtmltopdf打印插件等。 3.后端技术:SpringBoot框架、Mybatis-Plus、WebSocket、Stomp、Vintage-Engine页面解析模板引擎、 Thymeleaf页面解析模板引擎、Fileupload文件上传组件等。 4、数据库:MySQL数据库
402 0
JAVA带编辑器医院电子病历管理系统源码 springboot框架
|
测试技术 API 图形学
DXGI快速截屏录屏技术
DXGI快速截屏录屏技术
1201 0
|
Java 开发工具 数据库
基于Springboot实现疫苗接种行程管理系统
基于Springboot实现疫苗接种行程管理系统
189 0
基于Springboot实现疫苗接种行程管理系统
|
图形学
Unity3d 截屏
Unity3d 截屏
105 0