在应用程序中截取屏幕截图,然后将其放入UIImageView中,通常分辨率为

问题描述

|| 将iOS模拟器放大至100%后,我注意到由我使用该代码通过对视图的“屏幕截图”进行“截屏”制作的图标均处于正常分辨率,而其他所有内容似乎都在视网膜分辨率:
UIGraphicsBeginImageContext(rect.size);
[object.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
任何想法如何使其成为视网膜分辨率?     

解决方法

        
UIGraphicsBeginImageContext()
不支持Retina显示。 在iOS 4上,您需要改用
UIGraphicsBeginImageContextWithOptions()
,将
0
作为最后一个参数传递,以使iOS根据设备的屏幕分辨率自动缩放它:
UIGraphicsBeginImageContextWithOptions(rect.size,NO,0);
[object.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...