iOS相册选择照片后进行裁剪

1.首先推出选择拍照还是相册的alert,代码如下:


UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle: UIAlertControllerStyleActionSheet];

UIAlertAction *photo = [UIAlertAction actionWithTitle:@"拍照" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

[self readImageFromCamera];

}];

UIAlertAction *albulm = [UIAlertAction actionWithTitle:@"相册" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

[self readImageFromAlbum];

}];

UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

[self dismissViewControllerAnimated:YES completion:nil];

}];

[alert addAction:photo];

[alert addAction:albulm];

[alert addAction:cancel];

[self presentViewController:alert animated:YES completion:nil];


2.创建UIImagePickerController,设置imagepicker的sourcetype为camera还是library,设置代理,设置imagepicker的alllowsediting为yes;

3.在imagepicker的代理方法(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary*)info中,取出想要的照片,为info[UIImagePickerControllerEditedImage];info的key海域IImagePickerControllerOriginalImage;

4.对图片进行相应size的压缩


image = [self scaleImage:image toSize:CGSizeMake(750, 750)];

- (UIImage *)scaleImage:(UIImage *)image toSize:(CGSize)size {

if (image.size.width > size.width) {

UIGraphicsBeginImageContext(size);

[image drawInRect:CGRectMake(0, 0, size.width, size.height)];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newImage;

} else {

return image;

}

}


你可能感兴趣的:(iOS相册选择照片后进行裁剪)