Я использую следующий код для сохранения и загрузки изображений, которые я выбираю из библиотеки или с помощью камеры:
//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
, это нормально, но когда я загружаю это изображение, оно часто имеет неправильную ориентацию. Есть идеи? Кто-нибудь испытал это или знает, как я мог решить это?
Спасибо.
EDIT:
Похоже, что если вы загружаете фотографию, которая была сделана в портретной ориентации вверх ногами, она загружается в этой ориентации, если вы делаете фотографию в альбомной ориентации, если она загружается в этой ориентации. Есть идеи как обойти это? Независимо от ориентации, которую они загружают, они всегда возвращаются как UIImageOrientationUp.