ios - 如何将相机(UIImagePickerControllerSourceTypeCamera)拍摄的图像转换为iOS中的NSData

标签 ios objective-c uiimageview uiimagepickercontroller nsdata

我使用的代码:

-(IBAction) getPhoto:(id) sender {
    UIImagePickerController * picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;

    if((UIButton *) sender == choosePhotoBtn) {
        picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    } else {
        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    }

    [self presentModalViewController:picker animated:YES];
}

以下是将使用 UIImagePickerControllerSourceTypeCamera 拍摄的图像放置在 ImageView 中的函数:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissModalViewControllerAnimated:YES];
    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

}

最佳答案

试试这个

UIImage *img          = [info objectForKey:UIImagePickerControllerOriginalImage];
img                   = [info valueForKey:UIImagePickerControllerEditedImage];
self.imageView.image  = img;
NSData *imageData     = UIImagePNGRepresentation(img);

这会起作用。

关于ios - 如何将相机(UIImagePickerControllerSourceTypeCamera)拍摄的图像转换为iOS中的NSData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28937594/

相关文章:

具有额外填充的 UITableViewCell 内的 iOS Autolayout 2 多行 UILabel

iOS:旋转图像,但不旋转 mask 。怎么做这个?

ios - 如何使 subview 适合HStack中所有可用的垂直空间?

ios - Estimote室内导航sdk崩溃

ios - 仅更改默认 UILabels 的 UIAppearance

iphone - 更新报亭图标

iphone - 如何正确保留 NSArray 或基本使用

swift - UIImageView:将多个 UIViewContentMode 属性应用于一个 UIImageView?

ios - 如何从 subView 开始获取 ViewController 实例

iphone - UIImageViews 触摸时执行操作