关于iPhone/iPad全屏截图与区域截图的几种方法总结
来源:互联网 发布:万网域名过期多久删除 编辑:程序博客网 时间:2024/04/28 17:12
截取本区域(self.view):
UIGraphicsBeginImageContext(CGSizeMake(self.view.frame.size.width, self.view.frame.size.height));
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
全屏截图:
UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow];
UIGraphicsBeginImageContext(screenWindow.frame.size);
[screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
UIGraphicsBeginImageContext(screenWindow.frame.size);
[screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
以上2种方法真机和模拟器都可以运行.在photo.app里可以看到照片
苹果最新开放的接口函数(全屏截图),已经有人试过了,不会reject:(没有试验过,不知道可不可以上传appstore)
CGImageRef UIGetScreenImage();
CGImageRef img = UIGetScreenImage();
UIImage* scImage=[UIImage imageWithCGImage:img];
UIImageWriteToSavedPhotosAlbum(scImage, nil, nil, nil);
CGImageRef img = UIGetScreenImage();
UIImage* scImage=[UIImage imageWithCGImage:img];
UIImageWriteToSavedPhotosAlbum(scImage, nil, nil, nil);
It still works,but only on-device (not in simulator) .
截图另存为指定名字:
UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow];
UIGraphicsBeginImageContext(screenWindow.frame.size);
[screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *screenshotPNG = UIImagePNGRepresentation(screenshot);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSError *error = nil;
[screenshotPNG writeToFile:[documentsDirectory stringByAppendingPathComponent:@"screenshot.png"]options:NSAtomicWrite error:&error];
UIGraphicsBeginImageContext(screenWindow.frame.size);
[screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *screenshotPNG = UIImagePNGRepresentation(screenshot);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSError *error = nil;
[screenshotPNG writeToFile:[documentsDirectory stringByAppendingPathComponent:@"screenshot.png"]options:NSAtomicWrite error:&error];
本文转自:
http://hi.baidu.com/qqv2/blog/item/20244323e98ef1499922ed71.html
-(UIImage *)scaleimage:(UIImage *)img size:(CGSize)c
{
UIGraphicsBeginImageContext(c);
[img drawInRect:CGRectMake(0, 0, c.width, c.height)];
UIImage *image=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
{
UIGraphicsBeginImageContext(c);
[img drawInRect:CGRectMake(0, 0, c.width, c.height)];
UIImage *image=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
- 关于iPhone/iPad全屏截图与区域截图的几种方法总结
- IOS:关于iPhone/iPad全屏截图与区域截图的几种方法总结
- 关于iPhone/iPad全屏截图与区域截图的几种方法总结
- 关于iPhone/iPad全屏截图与区域截图的几种方法总结
- 关于iPhone/iPad全屏截图与区域截图的几种方法总结
- iPhone/iPad全屏截图与区域截图的几种方法
- iPhone/iPad全屏截图与区域截图的几种方法
- iPhone/iPad全屏截图与区域截图的几种方法
- iPhone/iPad全屏截图与区域截图的几种方法
- iPhone/iPad全屏截图与区域截图
- mac iphone ipad 截图六方法汇总
- 截图的几种方法
- iPhone IOS区域截图
- 屏幕截图的几种方法
- 如何屏蔽iPhone、iPad、iTouch上的屏幕截图功能
- 关于截图工具的总结
- android关于截图的方法
- ipad 截图
- Oracle之delete与truncate区别?
- SQL 生成随机数
- 重启电脑系统命令
- IOS成长之路-数据库的数据添加和查询
- Oracle模糊查询(大小写判断)
- 关于iPhone/iPad全屏截图与区域截图的几种方法总结
- linux中LCD设备驱动(4)——基于s3c6410平台
- 严重: IOException while loading persisted sessions: java.io.EOFException
- 将ubuntu的美国源换成台湾源,apt-get的速度会快很多
- postgres支持并发测试
- C#鼠标跟踪
- JavaScript网页特效学习笔记2
- 注册lame.ax失败的原因
- WPF下消息识别