截图功能实现
2015-09-09 10:57
447 查看
以下是使用最普遍的方法:
直接在图形上下文选择一个区域进行截图,使用也很方便,使用得当能够有意外的效果,比如跳转其他页面后背景是上一个页面的画面。但是这种又一个缺陷,就是截图之后的图片有点模糊,分辨率不高,这是因为它不支持Retina屏,不仅如此,它在iPad4上将截图储存到相册后显示的方向是错误(因为我做的是横屏应用,适配所有iPad和iPhone,截图之后储存,方向改变,iPad4真是iPad届的一朵奇葩,横屏时获取屏宽和屏高时也是相反的)。
为了提高用户体验,改换支持Retina屏幕的截图方法:
- (UIImage *)screenShot:(CGSize)size {
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
截取的图片质量更高,且不会出现方向错误的情况。
还有其他的方法暂不介绍。
- (UIImage *)screenshot:(CGSize)size { UIGraphicsBeginImageContext(size); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; }
直接在图形上下文选择一个区域进行截图,使用也很方便,使用得当能够有意外的效果,比如跳转其他页面后背景是上一个页面的画面。但是这种又一个缺陷,就是截图之后的图片有点模糊,分辨率不高,这是因为它不支持Retina屏,不仅如此,它在iPad4上将截图储存到相册后显示的方向是错误(因为我做的是横屏应用,适配所有iPad和iPhone,截图之后储存,方向改变,iPad4真是iPad届的一朵奇葩,横屏时获取屏宽和屏高时也是相反的)。
为了提高用户体验,改换支持Retina屏幕的截图方法:
- (UIImage *)screenShot:(CGSize)size {
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
截取的图片质量更高,且不会出现方向错误的情况。
还有其他的方法暂不介绍。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器
- IOS开发第三方语音-微信语音
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken
- iOS开发中实现邮件和短信发送的简单示例
- ios通过按钮点击异步加载图片
- 加载带有手势识别器的XIB文件需注意哪些问题