2017-01-28 29 views
0

私のアプリケーションでiOSのデフォルトカメラを使用しています。私は、ユーザーが写真を撮った後に表示される編集ビューを変更したいと思います。通常は、矩形で切り抜きを表示しますが、どのようにすれば円を表示したいですか?ここでiOS:デフォルトのカメラ画像を円形に切り出す方法

+0

重複の可能性が:https://stackoverflow.com/questions/28365819/ios-custom-uiimagepickercontroller-camera-crop-to -circle-in-preview-viewとhttps://stackoverflow.com/questions/26160854/ios-custom-uiimagepickercontroller-camera-crop-to-circle-square-triangular-shape –

答えて

0

あなたは作物のオーバーレイを作成するのに役立つかもしれない解決策である: -

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
{ 
    if ([navigationController.viewControllers count] == 3) 
    { 
     CGFloat screenHeight = [[UIScreen mainScreen] bounds].size.height; 

     UIView *plCropOverlay = [[[viewController.view.subviews objectAtIndex:1]subviews] objectAtIndex:0]; 

     plCropOverlay.hidden = YES; 

     int position = 0; 

     if (screenHeight == 568) 
     { 
      position = 124; 
     } 
     else 
     { 
      position = 80; 
     } 

     CAShapeLayer *circleLayer = [CAShapeLayer layer]; 

     UIBezierPath *path2 = [UIBezierPath bezierPathWithOvalInRect: 
           CGRectMake(0.0f, position, 320.0f, 320.0f)]; 
     [path2 setUsesEvenOddFillRule:YES]; 

     [circleLayer setPath:[path2 CGPath]]; 

     [circleLayer setFillColor:[[UIColor clearColor] CGColor]]; 
     UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 320, screenHeight-72) cornerRadius:0]; 

     [path appendPath:path2]; 
     [path setUsesEvenOddFillRule:YES]; 

     CAShapeLayer *fillLayer = [CAShapeLayer layer]; 
     fillLayer.path = path.CGPath; 
     fillLayer.fillRule = kCAFillRuleEvenOdd; 
     fillLayer.fillColor = [UIColor blackColor].CGColor; 
     fillLayer.opacity = 0.8; 
     [viewController.view.layer addSublayer:fillLayer]; 

     UILabel *moveLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 10, 320, 50)]; 
     [moveLabel setText:@"Move and Scale"]; 
     [moveLabel setTextAlignment:NSTextAlignmentCenter]; 
     [moveLabel setTextColor:[UIColor whiteColor]]; 

     [viewController.view addSubview:moveLabel]; 
    } 
} 
+0

このコードはデフォルトのカメラを円形にしますが、私はデフォルトのカメラを開きたいと画像をクリックした後、私は円の形で作物をしたい。 –

関連する問題