iOS,掌握刚刚使用设备相机拍摄的图像

时间:2012-03-13 20:49:45

标签: ios5 camera uiimage

或许有人可以告诉我,我是如何处理用户刚刚使用设备相机拍摄的图像的?例如,当用户捕获图像时,它会保存到照片库中,但如果没有进入照片库搜索图像,则无法知道图像文件的确切名称。我想在获取图像后获取图像,然后将其传递给UIImage,以便我可以立即将其显示给用户。

谢谢

1 个答案:

答案 0 :(得分:0)

根据您用于捕获图像的方法,您有2个选项。

如果您使用 UIImagePickerController 捕获静态图像,并将 UIImagePickerControllerSourceTypeCamera 设置为源。拍摄照片后,您将接到DELEGATE的电话。

- (void) imagePickerController: (UIImagePickerController *) picker

            didFinishPickingMediaWithInfo: (NSDictionary *) info

在这里,您可以找到可用于直接呈现图片的图片。 (图片在“信息”字典中)

https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/CameraAndPhotoLib_TopicsForIOS/Articles/TakingPicturesAndMovies.html#//apple_ref/doc/uid/TP40010406

检查该苹果网站上的代码,看看它是如何实现的。

或者,方法编号2是使用 AVFoundation 框架。但是,这需要您配置更多,即使它让您可以更自由地设置内容。

在实施结束时,您将得到如下图片:

 [stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:

    ^(CMSampleBufferRef imageSampleBuffer, NSError *error) {

        CFDictionaryRef exifAttachments =

            CMGetAttachment(imageSampleBuffer, kCGImagePropertyExifDictionary, NULL);

        if (exifAttachments) {

            // Do something with the attachments.

        }

        // Continue as appropriate.

    }];

此处图像位于imageSamplerBuffer中。

可以在此处找到此方法:https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html