Я пытаюсь обновить UIImage
информацией о геотегах.Я посмотрел на Сохранение информации Geotag с фотографией на iOS4.1 , где я нашел ссылку на NSMutableDDictionary + ImageMetadata .Однако я не хочу сохранять в фотоальбоме, но должен передать UIImage
.
Следующий код, похоже, создавал слишком много копий изображения и требовал, чтобы все эти рамки были связаны: CoreImage, AssetsLibrary, CoreMedia, ImageIO.
Есть ли что-то более эффективное, чем UIImage
-> CIImage
-> CGImage
-> UIImage
, которое может принимать свойства NSDictionary, необходимые для установки данных EXIF?
- (UIImage *)updateImage:(UIImage *)image location:(CLLocation *)location dateOriginal:(NSDate *)dateOriginal
{
NSMutableDictionary *properties = [NSMutableDictionary dictionaryWithDictionary:[image.CIImage properties]];
// uses https://github.com/gpambrozio/GusUtils
[properties setLocation:location];
[properties setDateOriginal:dateOriginal];
CIImage *tempImage = [[CIImage alloc] initWithImage:image options:properties];
CIContext *context = [CIContext contextWithOptions:nil];
UIImage *updatedImage = [UIImage imageWithCGImage:[context createCGImage:tempImage fromRect:tempImage.extent]];
return updatedImage;
}