Create a gist now

Instantly share code, notes, and snippets.

Exifを付与しNSDataを作成するサンプルコード
- (NSData *)setExifInfoData:(UIImage *)image date:(NSString *)date {
CGImageSourceRef cgImage = CGImageSourceCreateWithData((__bridge CFDataRef) UIImageJPEGRepresentation(image, 1), NULL);
NSMutableDictionary *exifDict = [[NSMutableDictionary alloc] init];
if ([StringUtil isNilToEmpty:date]) {
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"yyyy:MM:dd HH:mm:ss"];
NSString *original = [outputFormatter stringFromDate:[NSDate date]];
[exifDict setObject:original forKey:(__bridge NSString *) kCGImagePropertyExifDateTimeOriginal];
[exifDict setObject:original forKey:(__bridge NSString *) kCGImagePropertyExifDateTimeDigitized];
} else {
[exifDict setObject:date forKey:(__bridge NSString *) kCGImagePropertyExifDateTimeOriginal];
[exifDict setObject:date forKey:(__bridge NSString *) kCGImagePropertyExifDateTimeDigitized];
}
NSMutableData *imageData = [[NSMutableData alloc] init];
CGImageDestinationRef destination = CGImageDestinationCreateWithData((__bridge CFMutableDataRef) imageData,
CGImageSourceGetType(cgImage),
1,
nil);
CGImageDestinationAddImageFromSource(destination,
cgImage,
0,
(__bridge CFDictionaryRef) [NSDictionary dictionaryWithObjectsAndKeys:
exifDict, (__bridge NSString *) kCGImagePropertyExifDictionary,
nil]);
CGImageDestinationFinalize(destination);
CFRelease(cgImage);
CFRelease(destination);
return imageData;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment