Сохранить UIImage, загрузить его в неправильной ориентации

Я использую следующий код для сохранения и загрузки изображений, которые я выбираю из библиотеки или снимаю с помощью камеры:

//saving an image
- (void)saveImage:(UIImage*)image:(NSString*)imageName {
    NSData *imageData = UIImagePNGRepresentation(image); //convert image into .png format.
    NSFileManager *fileManager = [NSFileManager defaultManager];//create instance of NSFileManager
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //create an array and store result of our search for the documents directory in it
    NSString *documentsDirectory = [paths objectAtIndex:0]; //create NSString object, that holds our exact path to the documents directory
    NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png", imageName]]; //add our image to the path
    [fileManager createFileAtPath:fullPath contents:imageData attributes:nil]; //finally save the path (image)
    NSLog(@"image saved");
}

//loading an image
- (UIImage*)loadImage:(NSString*)imageName {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png", imageName]];
    return [UIImage imageWithContentsOfFile:fullPath];
}

Вот как я устанавливаю выбранное изображение для отображения в моем UIImageView :

imgView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

Однако, когда я выбираю изображение и устанавливаю его так, чтобы он отображался в моем UIImageView , это нормально, но когда я загружаю это изображение, оно часто имеет неправильную ориентацию. Любые идеи? Кто-нибудь испытал это или знает, как я могу решить эту проблему?

Спасибо.

РЕДАКТИРОВАТЬ:

Кажется, если вы загружаете фотографию, которая была сделана в портретной перевернутой ориентации, она загружается в этой ориентации, если вы делаете фотографию в альбомной ориентации, она загружается в этой ориентации. Есть идеи, как это обойти? Какую бы ориентацию они ни загружали, они всегда возвращаются как UIImageOrientationUp.

39
задан Josh Kahane 20 October 2011 в 18:51
поделиться