iPhoneX截圖如何帶“劉海”和圓角
阿新 • • 發佈:2019-01-29
直接用iPhoneX截圖後是沒有圓角和劉海的,就像下面這樣。
其實加圓角和劉海也很簡單
第一步:截圖
第二步:開啟我這個軟體,並選取圖片庫中的那張圖
第三步:新增圓角,劉海
第四步:將做好的圖片儲存到相簿
還需要下邊這張劉海的圖片
可以上程式碼了(目前原圖是固定的,沒有從圖片庫選取)
// // ViewController.m // iPhoneXPhotoEdit // // Created by yfc on 2017/12/23. // Copyright © 2017年 yfc. All rights reserved. // #import "ViewController.h" #import <AssetsLibrary/AssetsLibrary.h> #import <Photos/Photos.h> @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
效果圖是