2015-06-29 2 views
0

У меня возник вопрос о том, как преобразовать изображение с данными exif в тип NSData. Я получаю изображение, чтобы захватить изображение в камере или получить изображение из рулона камеры.Преобразование изображения с exif в NSData type

(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

После выбора изображения, я пошел сюда, чтобы преобразовать изображение с EXIF ​​в NSData и отправляюсь в базу данных сервера. Тем не менее, я пробовал много подход, но он терпит неудачу. Когда я получаю файл изображения в базе данных, он потерял всю информацию о выходе и метаданных изображения.

Итак, я хочу спросить, есть ли способ конвертировать изображение и хранить exif и метаданные в NSData Type?

Спасибо всем.

ответ

2

Вы можете сделать что-то подобное, но если вам не нужна NSData для дальнейшей работы, я настоятельно рекомендую вам, чтобы сохранить изображение на диске:

  NSDictionary *metadata = [info objectForKey: UIImagePickerControllerMediaMetadata]; 
      CFURLRef url = (__bridge_retained CFURLRef)[NSURL fileURLWithPath:path]; 
      CFMutableDictionaryRef metadataImage = (__bridge_retained CFMutableDictionaryRef) metadata; 
      NSMutableData * destData = [NSMutableData data]; 
      CGImageDestinationRef destination = CGImageDestinationCreateWithData((__bridge CFMutableDataRef)destData,kUTTypeJPEG,1,NULL); 
      CGImageDestinationAddImage(destination, uiImage.CGImage, metadataImage); 
      if (!CGImageDestinationFinalize(destination)) { 
       DLog(@"Failed to write image to %@", path); 
      } 
      else { 
       DLog(@"Writing image to %@", path); 

      } 
Смежные вопросы