iphone开发之屏幕截图

简介:

突然有个需求要求在程序中截图,调查实验后后在此分享一下。

先添加头文件

#import <QuartzCore/QuartzCore.h>

这里使用两种方法测试

一个是私有api的UIGetScreenImage()

一个是UIGraphics的方法

- (UIImage*) takeShot 
{    
    //private api and device only 不支持模拟器哦

    extern CGImageRef UIGetScreenImage();//需要先extern 
    UIImage *image = [UIImage imageWithCGImage:UIGetScreenImage()]; 
    UIImageWriteToSavedPhotosAlbum(image,nil,nil,nil); 
    return image; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    //plan A. 
    self.view.backgroundColor = [UIColor redColor]; 
    UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow]; 
    UIGraphicsBeginImageContext(screenWindow.frame.size); 
    [screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 
    //plan B:private api and device only 
#if !TARGET_IPHONE_SIMULATOR 
    self.view.backgroundColor = [UIColor greenColor]; 
    [self performSelector:@selector(takeShot) withObject:nil afterDelay:1]; 
#elif 
    self.view.backgroundColor = [UIColor clearColor]; 
#endif 
}

图片在相册中查看,使用之后的效果比较,使用itouch 4,高清屏幕。

UIGraphics的图片比较模糊,感觉是按像素画出来的结果

官方的api果然不是盖得,高清屏也不在话下,相当清晰。

机器不在身边,就不上图了。

听说4.0后就公开,不在reject了,没试过。










本文转自 arthurchen 51CTO博客,原文链接:http://blog.51cto.com/arthurchen/574926,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
编解码 测试技术 iOS开发
iPhone 屏幕尺寸和开发适配
【10月更文挑战第23天】iPhone 的屏幕尺寸变化给开发者带来了一定的挑战,但也为创新提供了机遇。通过深入了解不同屏幕尺寸的特点,遵循适配原则和策略,运用合适的技巧和方法,我们能够为用户提供在不同 iPhone 机型上都具有良好体验的应用。在未来,随着技术的不断进步,我们还需要持续学习和适应,以满足用户对优质应用体验的不断追求。
|
6月前
|
编解码 iOS开发 UED
响应式设计在 iPhone 开发适配中的具体应用
【10月更文挑战第23天】响应式设计在 iPhone 开发适配中扮演着至关重要的角色,它能够帮助我们打造出适应不同屏幕尺寸和用户需求的高质量应用。通过合理运用响应式设计的原则和方法,我们可以在提供良好用户体验的同时,提高开发效率和应用的可维护性。
|
9月前
|
数据采集 iOS开发 Python
Chatgpt教你开发iPhone风格计算器,Python代码实现
Chatgpt教你开发iPhone风格计算器,Python代码实现
90 1
|
Shell iOS开发
iOS逆向:tweak开发教程(iPhone/tool)
iOS逆向:tweak开发教程(iPhone/tool)
1318 0
iOS逆向:tweak开发教程(iPhone/tool)
|
编解码 iOS开发
iphone 开发的基本入门知识
iphone 开发的基本入门知识
278 0
「镁客早报」iPhone或将在今年采用三摄;传Facebook致力于开发语音助力服务与亚马逊、苹果竞争
亚马逊向美国Alexa设备推免费音乐服务;视频会议软件开发商Zoom纳斯达克上市。
299 0
|
Web App开发 缓存 开发工具