• 人脸识别和保存截图到相册


    #import "ViewController.h"
    #import "KLFaceDetector.h"
    
    #define FACEIMGVIEW_TAG     100001
    @interface ViewController ()
    
    @property (nonatomic, strong) UIImageView * faceImgView;
    @property (nonatomic, strong) UIImageView * imageView;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        UIImage * image = [self scaleImage:[UIImage imageNamed:@"IMG_2425.jpg"] toScale:0.1];
        _imageView = [[UIImageView alloc]initWithImage:image];
        [self.view addSubview:_imageView];
        
        UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
        btn.frame = CGRectMake(0, _imageView.frame.size.height+200, _imageView.frame.size.width, 40);
        [btn setTitle:@"图片保存" forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(pressBtn) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
        
        UIButton * btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
        btn1.frame = CGRectMake(0, _imageView.frame.size.height+260, _imageView.frame.size.width, 40);
        [btn1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        [btn1 setTitle:@"人脸识别" forState:UIControlStateNormal];
        [btn1 addTarget:self action:@selector(pressBtn1:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn1];
        
        UIButton * btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
        btn2.frame = CGRectMake(0, _imageView.frame.size.height+310, _imageView.frame.size.width, 40);
        [btn2 setTitle:@"截图" forState:UIControlStateNormal];
        [btn2 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        [btn2 addTarget:self action:@selector(pressBtn2) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn2];
        
        UIImage * img = [UIImage imageNamed:@"Test.jpg"];
        NSAssert((img), @"IMG not found");
        CGSize imgSize = [img size];
        CGSize imgViewSize = CGSizeMake(self.view.frame.size.height/2.0*imgSize.width/imgSize.height, self.view.frame.size.height/2.0);
        self.faceImgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, imgViewSize.width, imgViewSize.height)];
        [_faceImgView setImage:img];
        [self.view addSubview:_faceImgView];
    }
    
    -(void)pressBtn2{
        
        CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width;
        CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
        // 截图
         UIGraphicsBeginImageContextWithOptions(CGSizeMake(screenWidth, screenHeight), YES, 0);
         [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
         UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
         // 存入相册
        UIImageWriteToSavedPhotosAlbum(image, self, @selector(imageSavedToPhotosAlbum:didFinishSavingWithError:contextInfo:), nil);
         UIGraphicsEndImageContext();
    }
    -(void)pressBtn{
        UIImageView * imaView = (UIImageView*)[self.view viewWithTag:FACEIMGVIEW_TAG];
        
        //图片保存到本地相册
        UIImageWriteToSavedPhotosAlbum(imaView.image, self, @selector(imageSavedToPhotosAlbum:didFinishSavingWithError:contextInfo:), nil);
    }
    -(void)pressBtn1:(UIButton*)btn{
       
        [[self.view viewWithTag:FACEIMGVIEW_TAG] removeFromSuperview];
        CGSize imgSize = CGSizeMake(160, 120); // you can change this size to whatever you like
        [btn setTitle:@"Working..." forState:UIControlStateNormal];
        [KLFaceDetector getImageWithFaceForImage:self.faceImgView.image withSize:imgSize shouldFast:YES completionHandler:^(UIImage * faceImg) {
            [btn setTitle:@"GetFace" forState:UIControlStateNormal];
            UIImageView * imgView = [[UIImageView alloc] initWithFrame:CGRectMake(CGRectGetMaxX(btn.frame)+15, CGRectGetMaxY(self.faceImgView.frame)+25, imgSize.width, imgSize.height)];
            [imgView setBackgroundColor:[UIColor darkGrayColor]];
            [imgView setTag:FACEIMGVIEW_TAG];
            [imgView setImage:faceImg];
            [self.view addSubview:imgView];
        }];  
    }
    - (void)imageSavedToPhotosAlbum:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
    {
        NSString *message = @"呵呵";
        if (!error) {
            message = @"成功保存到相册";
        }else
        {
              }
        NSLog(@"message is %@",message);
    }
    
    //等比缩放
    - (UIImage *) scaleImage:(UIImage *)image toScale:(float)scaleSize {
        
        //opaque 是否透明   scale 模糊度  UIGraphicsBeginImageContextWithOptions(CGSizeMake(image.size.width*scaleSize, image.size.height*scaleSize), YES,10);
        [image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)];
        UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return scaledImage;
        
    }
    //自定义大小
    - (UIImage *) reSizeImage:(UIImage *)image toSize:(CGSize)reSize {
        UIGraphicsBeginImageContext(CGSizeMake(reSize.width, reSize.height));
        [image drawInRect:CGRectMake(0, 0, reSize.width, reSize.height)];
        UIImage *reSizeImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return reSizeImage;
    }

  • 相关阅读:
    剑桥雅思写作高分范文ESSAY64
    剑桥雅思写作高分范文ESSAY63
    剑桥雅思写作高分范文ESSAY62
    剑桥雅思写作高分范文ESSAY61
    Python特点
    解释器
    python开发时总会碰到的问题
    python redis
    python连接数据库的方法
    数据库中的主键、外键、索引的区别
  • 原文地址:https://www.cnblogs.com/sayimba/p/5666106.html
Copyright © 2020-2023  润新知