ImagePicker поворачивает изображение камеры iOS на 90 градусов

Я использую средство выбора изображений в своем приложении. Он отлично работает для БОЛЬШИНСТВА изображений, однако у него возникают проблемы с изображениями, изначально снятыми с камеры iPhone 4 (думаю, из-за того, что они такие большие). Фотки с камеры айфона 5 и скриншоты все работает нормально. При загрузке изображения, изначально снятого с камеры iPhone 4, средство выбора поворачивает их на 90 градусов влево. Я думаю, что это тоже связано, но в моем приложении есть функция, с помощью которой пользователь может сохранять изображения в свою фотопленку, и она отлично работает для большинства изображений, но те, которые сняты с камеры iPhone 4 и повернуты на 90 градусов, НЕ сохраняются.

Вот мой код:

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
if ([self.imagePicker isEqual:picker])
{
    //
    // Saving into Documents folder
    //
    NSString* path = [NSHomeDirectory() stringByAppendingString:@"/Documents/one.png"];

    BOOL ok = [[NSFileManager defaultManager] createFileAtPath:path
                                                      contents:nil attributes:nil];

    if (!ok) {
        NSLog(@"Error creating file %@", path);
    } else {
        NSFileHandle* myFileHandle = [NSFileHandle fileHandleForWritingAtPath:path];
        [myFileHandle writeData:UIImagePNGRepresentation(info [UIImagePickerControllerOriginalImage])];
        [myFileHandle closeFile];
    }

    //
    // Loading from documents
    //
    NSFileHandle* myFileHandle = [NSFileHandle fileHandleForReadingAtPath:path];
    UIImage* loadedImage = [UIImage imageWithData:[myFileHandle readDataToEndOfFile]];
    self.chosenImageOne = loadedImage;
    [self.imageViewOne setImage:self.chosenImageOne];
    [self dismissViewControllerAnimated:YES completion:nil];
}
}

person Chase Kretch    schedule 24.06.2013    source источник
comment
я не могу вспомнить исправление, которое я использовал, но я помню, что у меня была проблема с потерей ориентации при сохранении представления png. Если я узнаю, что я сделал плохо, добавлю, но посмотрю на это.   -  person rezand    schedule 24.06.2013
comment
Ах, да, проблема была в сохранении в формате png. Поменял на JPEG и все заработало!   -  person Chase Kretch    schedule 24.06.2013


Ответы (1)


Этот вопрос по-прежнему остается без ответа, но проблема / проблемы были устранены путем изменения представления png на jpg.

person rezand    schedule 24.06.2013