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

来源:互联网 发布:空气净化器知乎 编辑:程序博客网 时间:2024/05/16 19:46
-(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];}

0 0