的UIImagePickerController:检查是否返回的图像是横向或纵向? [重复](U

2019-10-18 01:04发布

这个问题已经在这里有一个答案:

  • 如何知道照片横向或纵向模式? 2个回答

所以,的UIImagePickerController不支持横向。 然而,有应用的一部分,其中重要的是随附来自控制器的图像被识别为无论是在纵向或横向格式。

我可以用我的UIImagePickerController库导入图像时为止处理这个问题。 我只是比较的UIImage的宽度和高度。 然而,当我捕捉使用的UIImagePickerController的图像,此功能将无法作为就是工作。

有一些额外的信息,该的UIImagePickerController可以提供我确定它是否是在横向模式抢购? 是否有模仿此功能用于捕捉使用照片的UIImagePickerController一种创造性的方式?

Answer 1:

我用这个来检查和修复的方向,如果u需要解决它。

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");
}


文章来源: UIImagePickerController: Check if returned image is in landscape or portrait? [duplicate]