iOS 는 어떻게 원형 두상 을 재단 합 니까?

3001 단어 iOS원형 두상
본 논문 의 사례 는 iOS 가 원형 두상 을 자 르 는 상세 한 코드 를 소개 하 였 으 며,여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.

- (void)viewDidLoad {
  [super viewDidLoad];
   
  //    
  UIImage *image = [UIImage imageNamed:@"  "];
   
  //      
  CGSize size = image.size;
   
  //       
  UIGraphicsBeginImageContextWithOptions(size, NO, 0);
   
  //      
  UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
   
  //       
  [path addClip];
   
  //    
  [image drawAtPoint:CGPointZero];
   
  //        
  _imageView.image = UIGraphicsGetImageFromCurrentImageContext();
   
  //     
  UIGraphicsEndImageContext();
   
}
비비 형 프로필 사진 한 장 더 주세요.

원형 두상 에 테 두 리 를 추가 하려 면 먼저 큰 원 을 그리고 이 원 사이즈 범위 내 에서 그림 크기 의 원 을 그 리 는 것 이 생각 입 니 다.

- (void)viewDidLoad {
  [super viewDidLoad];
   
  //    
  UIImage *image = [UIImage imageNamed:@"   "];
   
  //      
  CGFloat border = 3;
  CGFloat imageWH = image.size.width;
   
  //       
  CGFloat ovalWH = imageWH + 2 * border;
   
  //     
  UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
   
  //       
  UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, ovalWH, ovalWH)];
   
  [[UIColor orangeColor]set];
   
  [path fill];
   
  //      
  UIBezierPath *path1 = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imageWH, imageWH)];
  [path1 addClip];
   
  //    
  [image drawAtPoint:CGPointMake(border, border)];
   
  //         
  _imageView.image = UIGraphicsGetImageFromCurrentImageContext();
   
  //     
  UIGraphicsEndImageContext();
   
}
효과 그림:

화면 캡 처 코드:
원 리 는 화면 에 있 는 컨트롤 의 layer 를 컨 텍스트 에 렌 더 링 하 는 것 입 니 다.

- (void)viewDidLoad {
  [super viewDidLoad];
   
  //     
  UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0);
   
  //     
  CGContextRef ctx = UIGraphicsGetCurrentContext();
   
  //             
  [self.view.layer renderInContext:ctx];
   
  //         
  UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
   
  //     
  UIGraphicsEndImageContext();
   
  //       
  UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
   
}
이상 은 본문의 전체 내용 이 므 로 여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기