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