在iPhone上对照片进行地理标记?
一个链接或一点代码将不胜感激 我有一个可以让用户拍照的应用程序。下面是我用来创建jpeg文件的代码 假设参数信息具有lat和lon,如何将地理标记添加到照片的EXIF数据在iPhone上对照片进行地理标记?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,一个链接或一点代码将不胜感激 我有一个可以让用户拍照的应用程序。下面是我用来创建jpeg文件的代码 假设参数信息具有lat和lon,如何将地理标记添加到照片的EXIF数据 - (void) saveImage:(NSDictionary*) info { NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *filePath = [self applicationDocumentsDirector
- (void) saveImage:(NSDictionary*) info {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *filePath = [self applicationDocumentsDirectory]
stringByAppendingString: @"/photos/"];
[fileManager createDirectoryAtPath: filePath withIntermediateDirectories: NO attributes: nil error: nil];
filePath = [filePath stringByAppendingString: [info objectForKey: @"title"]];
filePath = [filePath stringByAppendingString: @".jpg"];
[fileManager createFileAtPath:filePath contents:nil attributes:nil];
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
NSData * imgData = [[NSData alloc] initWithData:
UIImageJPEGRepresentation([info objectForKey: @"image"],.8)];
[fileHandle writeData:imgData];
[fileHandle closeFile];
[imgData release];
}
iPhone照片在JPEG EXIF中自动进行地理标记iPhone照片在JPEG EXIF中自动进行地理标记iPhone当前不提供可在Mac上用于此操作的ImageIO库。看看这个项目,它可能会提供你所需要的 另外,如果可以的话,请给我一些关于代码的注释
- 在处理路径时,您应该使用NSString使您的意图更加清晰
- UIImageJPEGRepresentation已返回自动删除的NSData实例。对于初学者来说,这是一个常见的错误,但是通过使用旧的NSData实例创建新的NSData实例,您正在浪费代码并增加额外的内存管理工作
- NSData有一个方法-writeToFile:options:error:可以让您摆脱所有额外的NSFileHandle代码。我认为它还将使您不必首先使用NSFileManager创建文件
- 或者,您可以将UIImageJPEGRepresentation中的数据传递到-[NSFileManager createFileAtPath:contents:attributes:]的contents参数中
- 在处理路径时,您应该使用NSString使您的意图更加清晰
- UIImageJPEGRepresentation已返回自动删除的NSData实例。对于初学者来说,这是一个常见的错误,但是通过使用旧的NSData实例创建新的NSData实例,您正在浪费代码并增加额外的内存管理工作
- NSData有一个方法-writeToFile:options:error:可以让您摆脱所有额外的NSFileHandle代码。我认为它还将使您不必首先使用NSFileManager创建文件
- 或者,您可以将UIImageJPEGRepresentation中的数据传递到-[NSFileManager createFileAtPath:contents:attributes:]的contents参数中