您的位置:首页 > 产品设计 > UI/UE

iOS 获取屏幕分辨率 以及放大模式、高清模式区别 和 获取UIImage图片的像素尺寸

2017-06-09 10:35 651 查看
转自:http://blog.csdn.net/xiaoyuanzhiying/article/details/44080667

[objc] view
plain copy

    CGRect rect_screen = [[UIScreen mainScreen]bounds];  

    CGSize size_screen = rect_screen.size;  

      

    CGFloat scale_screen = [UIScreen mainScreen].scale;  

      

    CGFloat width = size_screen.width*scale_screen;  

    CGFloat height = size_screen.height*scale_screen;  

      

    NSLog(@"width:%f",width);  

    NSLog(@"height:%f",height);  

  

2015-03-04 15:35:06.340 reader[10697:179349] width:640.000000  

2015-03-04 15:35:06.341 reader[10697:179349] height:1136.000000  

上述情况在iphone6和iPhone6 Plus的缩放模式下,和iPhone5S获取到的分辨率是一样的。

别忘记iphone 6 6+有放大模式和,正常模式

#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

//放大版的iphone6等于Iphone5的分辨率《求区别办法》

#define iPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size)) : NO)

#define iPhone6plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(1125, 2001), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size))
: NO)

获取照片的像素

CGFloat fixelW = CGImageGetWidth(image.CGImage);

CGFloat fixelH = CGImageGetHeight(image.CGImage);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐