iOS从相机或相册获取图片并裁剪,再获取裁剪后的图片

-(void) selectWayToGetPicture{
  UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照",@"图库", nil];
  [actionSheet showInView:self.view];
}

// 实现UIActionSheetDelegate,UINavigationControllerDelegate,UIImagePickerControllerDelegate

#pragma mark -actionSheetDelegate
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
  if (buttonIndex == 0) {
    // 资源类型为照相机
    UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
    // 判断是否有相机
    if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){
      UIImagePickerController *picker = [[UIImagePickerController alloc] init];
      picker.delegate = self;
      picker.sourceType = sourceType; // 资源类型为照相机
      picker.allowsEditing = YES;     // 设置选择后的图片是否能被编辑
      [self presentViewController:picker animated:YES completion:nil];
    }else {
      UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:@"该设备无摄像头"delegate:self cancelButtonTitle:@"取消"otherButtonTitles: nil];
      [alertView show];
    }
  }else if(buttonIndex == 1){
    UIImagePickerController *pickerController = [[UIImagePickerController alloc] init];
    pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    pickerController.delegate = self;
    pickerController.allowsEditing = YES; // 设置选择后的图片是否能被编辑
    [self presentViewController:pickerController animated:YES completion:nil];
  }
}

-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
  NSString *type = [info objectForKey:UIImagePickerControllerMediaType];
  // 当选择的类型是图片
  if ([type isEqualToString:@"public.image"])
  {
    UIImage* image = [info objectForKey:@"UIImagePickerControllerEditedImage"]; // 裁剪后的图片
  }
  [picker dismissViewControllerAnimated:YES completion:nil];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值