Читать метаданные xmp из jpeg в ios
Я пытаюсь получить информацию метаданных xmp из файла JPEG 360°. Итак, я написал этот код, но я не получил информацию о xmp:
UIImage *img = [UIImage imageNamed:@"park_2048.jpg"];
NSData *imagedata = UIImageJPEGRepresentation(img, 1);
CGImageSourceRef source = CGImageSourceCreateWithData( (CFDataRef) imagedata, NULL);
CFDictionaryRef dictRef = CGImageSourceCopyMetadataAtIndex(source, 0, NULL);
NSDictionary* metadata = (__bridge NSDictionary *)dictRef;
NSLog(@"metadata = %@", metadata);
у меня также было предупреждение: Incompatible pointer types initializing 'CFDictionaryRef' (aka 'const struct __CFDictionary *') with an expression of type 'CGImageMetadataRef _Nullable' (aka 'const struct CGImageMetadata *')
Любая помощь, пожалуйста
1 ответ
Я решил, передав все данные, а не UIImage:
NSString* path = [[NSBundle mainBundle] pathForResource:@"park_2048" ofType:@"jpg"];
NSData *data = [NSData dataWithContentsOfFile:path];
[self logMetaDataFromImage:data];
- (void) logMetaDataFromImage:(NSData*)imageData {
NSLog(@"%@",NSStringFromSelector(_cmd));
CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL);
CGImageMetadataRef imageMetaData = CGImageSourceCopyMetadataAtIndex(source,0,NULL);
NSLog (@"meta data = %@",imageMetaData);
}