UIImagePickerController:检查返回的图像是横向还是纵向?

所以,UIImagePickerController不支持横向。 但是,有一部分应用程序必须将来自控制器的图像识别为纵向或横向格式。

使用UIImagePickerController从我的库中导入图像时,我可以处理这个问题。 我只是比较UIImage的宽度和高度。 但是,当我使用UIImagePickerController捕获图像时,此function将无法正常工作。

有一些额外的信息,UIImagePickerController可以提供给我,以确定它是否在横向模式中捕捉? 有没有一种创造性的方式来模拟这个function来捕捉使用UIImagePickerController的照片?

我用这个检查和修复方向,如果你需要修复它。

 switch (image.imageOrientation) { case UIImageOrientationDown: case UIImageOrientationDownMirrored: transform = CGAffineTransformTranslate(transform, imageSize.width, imageSize.height); transform = CGAffineTransformRotate(transform, M_PI); break; case UIImageOrientationLeft: case UIImageOrientationLeftMirrored: transform = CGAffineTransformTranslate(transform, imageSize.width, 0); transform = CGAffineTransformRotate(transform, M_PI_2); break; case UIImageOrientationRight: case UIImageOrientationRightMirrored: transform = CGAffineTransformTranslate(transform, 0, imageSize.height); transform = CGAffineTransformRotate(transform, -M_PI_2); break; case UIImageOrientationUp: case UIImageOrientationUpMirrored: break; } /////////////// or u just do it in this way: if (image.imageOrientation == UIImageOrientationUp) { NSLog(@"portrait"); } else if (image.imageOrientation == UIImageOrientationLeft || image.imageOrientation == UIImageOrientationRight) { NSLog(@"landscape"); }