2013-06-24 53 views
0

我在我的应用程序中使用了imagepicker。它适用于大多数图像,但是,它最初从iPhone 4相机拍摄的图像(我认为是因为它们太大)而造成麻烦。来自iPhone 5相机的照片和截图都可以正常工作。上传最初从iPhone 4相机拍摄的照片时,选取器将它们向左旋转90度。我认为它也是相关的,但我的应用程序有一个功能,用户可以将图像保存到相机胶卷上,并且对于大多数图像都可以正常工作,但从iPhone 4相机拍摄的旋转90度的照片不会保存。ImagePicker将iOS相机图像旋转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]; 
} 
} 
+0

我不记得我使用的修复程序,但我确实记得有一个保存png表示方法丢失的问题。如果我发现我做了什么坏事增加,但看看它。 – rezand

+0

啊,是的,保存为PNG是问题。更改为JPEG,它的工作! –

回答

3

这个问题仍显示未答复但问题/问题,通过改变PNG表示为JPG固定。