我正在构建一个相机效果应用,并希望能够为我捕获的屏幕截图添加地理标记。
我正在从AVCaptureSession帧缓冲区抓取相机图像,并在进行一些处理后将它们显示给用户。最终结果是PNG截图。如何获取CLLocation
对象并将其添加到PNG图像?
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
{
//how to add geotagging to this method?
[self performImageCaptureFrom:sampleBuffer];
}
谢谢!
答案 0 :(得分:1)
您可以按照此帖子将exif数据添加到png图像。 How to write exif metadata to an image (not the camera roll, just a UIImage or JPEG) 请注意,用户必须已经允许您的应用提供位置服务。如果您正在处理图像或让用户这样做,您可能会发现在最终保存之前添加元数据更容易(这将允许您不会因为不重新打开图像两次而消耗双倍内存,而且因为我没有知道你正在做什么样的处理Geo-tagging在它期间不会丢失。)