iPhoneX截图如何带“刘海”和圆角

直接用iPhoneX截图后是没有圆角和刘海的,就像下面这样。

iPhoneX截图如何带“刘海”和圆角_第1张图片

其实加圆角和刘海也很简单


第一步:截屏

第二步:打开我这个软件,并选取图片库中的那张图

第三步:添加圆角,刘海

第四步:将做好的图片保存到相册


还需要下边这张刘海的图片

iPhoneX截图如何带“刘海”和圆角_第2张图片

可以上代码了(目前原图是固定的,没有从图片库选取)

//
//  ViewController.m
//  iPhoneXPhotoEdit
//
//  Created by yfc on 2017/12/23.
//  Copyright © 2017年 yfc. All rights reserved.
//

#import "ViewController.h"
#import 
#import 
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIButton *btn = [[UIButton alloc]init];
    btn.frame = CGRectMake(10, 44, 350, 758);
    btn.frame = CGRectMake(0, 0, 375, 812);
    [btn setBackgroundImage:[UIImage imageNamed:@"IMG_3655.PNG"] forState:UIControlStateNormal];
    //添加圆角
    btn.layer.cornerRadius = 35 ;
    btn.layer.borderColor = [UIColor blackColor].CGColor;
    btn.layer.borderWidth = 2;
    [self.view addSubview:btn];
    btn.backgroundColor = [UIColor whiteColor];
    btn.clipsToBounds = YES;
    
    
    //添加刘海
    UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"liuhai.png"]];
    imageView.frame = CGRectMake(70, 0, 222, 28);
    [btn addSubview:imageView];
    
    self.view.backgroundColor = [UIColor clearColor];
    
    //截图保存到相册
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self saveBtnAction:nil];
    });
    
}
-(void)saveBtnAction:(UIButton *)sender{
    [self requestAuthorizationStatus];
}
//查看权限
- (void)requestAuthorizationStatus
{
    [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status){
        dispatch_async(dispatch_get_main_queue(), ^{
            switch (status) {
                case PHAuthorizationStatusAuthorized:
                {
                    [self cutScreen];
                    break;
                }
                default://Denied
                {
                    break;
                }
            }
        });
    }];
}
//截屏
-(void)cutScreen{

    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, YES, 0.0);
    //2.获取当前图形上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    //3.获取需要截取的view的layer
    [self.view.layer renderInContext:ctx];
    //4.从当前上下文获取图片
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    //5.关闭图形上下文
    UIGraphicsEndImageContext();
    //6.把图片保存到相册
    UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);

}
//保存成功后回调
-(void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
    NSString *msg = nil;
    if (error) {
        msg = @"图片保存失败";
    }else{
        msg = @"图片保存成功";
    }
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:msg delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
    [alertView show];
}
@end

效果图是

iPhoneX截图如何带“刘海”和圆角_第3张图片


你可能感兴趣的:(ios,ios,iphone,X,截图刘海)