Записать метаданные изображения в файл JPG / PNG в iOS - PullRequest
8 голосов
/ 16 марта 2011

Есть ли способ записать UIImage в файл JPG / PNG и затем добавить к нему метаданные?Я знаю, что вы можете использовать:

writeImageDataToSavedPhotosAlbum: метаданные: завершениеБлок

, чтобы сделать это в сохраненных фотографиях, но как сделать то же самое непосредственно с файлом?Я не могу найти способ сделать это.Я знаю, что UIImagePNGRepresentation () и UIImageJPGRepresentation () предоставят вам NSData, который вы можете использовать для записи файла, но нет способа добавить / заменить метаданные в файле.

Любые идеи?

Ответы [ 2 ]

3 голосов
/ 08 августа 2013

Похоже на дубликат .

. Для добавления метаданных в UIImage вы можете использовать каркас ImageIO. Вы можете создать объект CGImageDestination из UIImage, добавить к нему метаданные, используя CGImageDestinationSetProperties, а затемполучить из него необработанные данные (включая сжатое изображение и метаданные).

0 голосов
/ 03 февраля 2012

@ rekle Убедитесь, что этот код предназначен для записи фотографии в файл

NSData *imageData = UIImagePNGRepresentation(self.imageView.image);
            NSData *myImage=[[NSData alloc]initWithData:imageData];
            NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *documentsDirectory = [paths objectAtIndex:0];
            NSLog(@"%@",documentsDirectory);

            NSString *fullPathToFile = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png",camtitle.text]];
            [myImage writeToFile:fullPathToFile atomically:YES];
            NSLog(@"%@",fullPathToFile);
            [myImage release

];

...