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

本文介绍了如何在iOS设备上获取屏幕的实际尺寸和分辨率,并通过示例代码展示了不同iPhone型号(如iPhone 5S、iPhone 6及iPhone 6 Plus)在正常模式和放大模式下的分辨率差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://blog.youkuaiyun.com/xiaoyuanzhiying/article/details/44080667


[objc]  view plain  copy
  1.     CGRect rect_screen = [[UIScreen mainScreen]bounds];  
  2.     CGSize size_screen = rect_screen.size;  
  3.       
  4.     CGFloat scale_screen = [UIScreen mainScreen].scale;  
  5.       
  6.     CGFloat width = size_screen.width*scale_screen;  
  7.     CGFloat height = size_screen.height*scale_screen;  
  8.       
  9.     NSLog(@"width:%f",width);  
  10.     NSLog(@"height:%f",height);  
  11.   
  12. 2015-03-04 15:35:06.340 reader[10697:179349] width:640.000000  
  13. 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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值