imagePickerController 获取图片的拍照时间等信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了imagePickerController 获取图片的拍照时间等信息相关的知识,希望对你有一定的参考价值。

imagePickerController 获取图片的拍照时间等信息

//当我们选中图片的时候进入的代理//其实这里图片,照相机共用一个代理

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary*)info{

 

    UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage];

    UIButton *tempButton = (UIButton *)[self.view viewWithTag:flagImageButton];

    [tempButton setBackgroundImage:image forState:UIControlStateNormal];

    NSLog(@"info == %@",info);

    

    NSData *tempImageData = UIImageJPEGRepresentation(image, 0.5);

    [self.imageDataArray addObject:image];

    

    if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {

        

        

        // Recover the snapped image

        UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

        

        //元数据

        NSDictionary *dict = [info objectForKey:UIImagePickerControllerMediaMetadata];

        NSMutableDictionary *metadata=[NSMutableDictionarydictionaryWithDictionary:dict];

        //EXIF数据

        NSMutableDictionary *EXIFDictionary =[[metadata objectForKey:(NSString*)kCGImagePropertyExifDictionary]mutableCopy];

        

        NSLog(@"EXIFDictionary==%@",EXIFDictionary);

        

        

        NSLog(@"DateTimeDigitized哈哈哈哈==%@",[EXIFDictionary objectForKey:@"DateTimeDigitized"]);

        NSString *tempTimeChuo = [ViewControllerFactory fromTimeToChui:[EXIFDictionary objectForKey:@"DateTimeDigitized"]];

        [self.timeChuoArray addObject:tempTimeChuo];

        

        // Save the image to the album

        //UIImageWriteToSavedPhotosAlbum(image, self, @selector(imagedidFinishSavingWithError:contextInfo:), nil);

        UIImageWriteToSavedPhotosAlbum(image, nilnilnil);

        

        NSLog(@"拍照的");

        

        [selfdismissViewControllerAnimated:YEScompletion:nil];

    

        

    }

    elseif (picker.sourceType == UIImagePickerControllerSourceTypePhotoLibrary)

    {

        

        

        NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];

        ALAssetsLibrary *library = [[ALAssetsLibraryallocinit];

        [library assetForURL:assetURL

                 resultBlock:^(ALAsset *asset) {

                     

                     NSLog(@"asset===%@",asset);

                     //查看资源的创建时间

                     NSLog(@"ALAssetPropertyDate:%@",[asset valueForProperty:ALAssetPropertyDate]);

                     NSString *tempTimeChuo = [ViewControllerFactory fromTimeToChui:[asset valueForProperty:ALAssetPropertyDate]];

                     [self.timeChuoArray addObject:tempTimeChuo];

                     

                 }

                failureBlock:^(NSError *error) {

                }];

        

        [picker dismissViewControllerAnimated:YEScompletion:^{

            

        }];

        

    }


本文出自 “ZhuoKing” 博客,谢绝转载!

以上是关于imagePickerController 获取图片的拍照时间等信息的主要内容,如果未能解决你的问题,请参考以下文章

无法获取 UIImage 以匹配自定义 ImagePickerController 预览

如何获取保存在文档目录中的视频缩略图

如何从 iOS 9 和 Objective C 中的 .MOV 文件中获取缩略图?

尝试使用 Photos Framework [Swift 2.0] 从 imagepickercontroller 检索 NSURL

Swift 3 - 无法覆盖'imagePickerController'

如何使用 ImagePickerController 直接显示“相机胶卷”