首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道照片是处于横向模式还是纵向模式?

如何知道照片是处于横向模式还是纵向模式?
EN

Stack Overflow用户
提问于 2011-02-03 08:21:59
回答 2查看 9.1K关注 0票数 8

我从iPhone/iPad库中加载照片,其中大多数是在肖像模式下,我想知道如何在横向或肖像模式下检查照片?

EN

回答 2

Stack Overflow用户

发布于 2011-02-03 08:31:16

使用UIImage实例的imageOrientation属性。它将返回一个these常量。

示例:

UIImage *image = //从库中加载

代码语言:javascript
复制
if (image.imageOrientation == UIImageOrientationUp) {
    NSLog(@"portrait");
} else if (image.imageOrientation == UIImageOrientationLeft || image.imageOrientation == UIImageOrientationRight) {
    NSLog(@"landscape");
}
票数 12
EN

Stack Overflow用户

发布于 2013-01-06 05:01:47

我在运行iOS 5.0的iPhone 4上测试了这段代码的数十张实际图片,并成功地将它们都设置为纵向模式。这就是修复/检查的方法

代码语言:javascript
复制
if (image.imageOrientation == UIImageOrientationUp ||
        image.imageOrientation == UIImageOrientationDown )
    {
        NSLog(@"Image is in Landscape Fix it to portrait ....");

        backgroundView.frame = self.view.bounds;
        backgroundView.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
        backgroundView.contentMode = UIViewContentModeScaleAspectFill;
    }
    else
    {
        NSLog(@"Image is in Portrait everything is fine ...");
    }

下面是做这个检查的一个愚蠢的方法

代码语言:javascript
复制
-(void)imagePickerController:(UIImagePickerController *)picker
      didFinishPickingImage : (UIImage *)image
                 editingInfo:(NSDictionary *)editingInfo
{

    // Get the data for the image
    NSData* imageData = UIImageJPEGRepresentation(image, 1.0);




    if ([UIImage imageWithData:imageData].size.width >  [UIImage imageWithData:imageData].size.height)
    {
        NSLog(@"Select Image is in Landscape Mode ....");

    }
    else
    {
        NSLog(@"Select Image is in Portrait Mode ...");

    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4881512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档