Я использую следующий код для сохранения и загрузки изображений, которые я выбираю из библиотеки или снимаю с помощью камеры:
//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.