iOS关于截屏的几种代码
来源:互联网 发布:傲梦少儿编程怎样 编辑:程序博客网 时间:2024/05/21 19:42
2.scrollerView的截屏/**
*截图功能
*/
-(void)screenShot{
UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0);
//设置截屏大小
[[self.view layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGImageRef imageRef = viewImage.CGImage;
CGRect rect = CGRectMake(0, 0, 641, SCREEN_HEIGHT + 300);//这里可以设置想要截图的区域
CGImageRef imageRefRect =CGImageCreateWithImageInRect(imageRef, rect);
UIImage *sendImage = [[UIImage alloc] initWithCGImage:imageRefRect];
//以下为图片保存代码
UIImageWriteToSavedPhotosAlbum(sendImage, nil, nil, nil);//保存图片到照片库
NSData *imageViewData = UIImagePNGRepresentation(sendImage);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pictureName= @"screenShow.png";
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:pictureName];
[imageViewData writeToFile:savedImagePath atomically:YES];//保存照片到沙盒目录
CGImageRelease(imageRefRect);
//从手机本地加载图片
UIImage *bgImage2 = [[UIImage alloc]initWithContentsOfFile:savedImagePath];
}
/**
*截图
*/
- (void)screenShot{
UIImage* image = nil;
UIGraphicsBeginImageContext(m_scrollView.contentSize);
{
CGPoint savedContentOffset = m_scrollView.contentOffset;
CGRect savedFrame = m_scrollView.frame;
m_scrollView.contentOffset = CGPointZero;
m_scrollView.frame = CGRectMake(0, 0, m_scrollView.contentSize.width, m_scrollView.contentSize.height); [m_scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();
m_scrollView.contentOffset = savedContentOffset;
m_scrollView.frame = savedFrame;
}
UIGraphicsEndImageContext();
if (image != nil) {
NSLog(@"截图成功!");
}
}
- iOS关于截屏的几种代码
- iOS代码加密的几种方式
- 关于matlab几种标准化的代码
- iOS安全–浅谈关于iOS加固的几种方法,代码混淆,类名方法名混淆等
- IOS截屏的几种方法
- iOS中数据存储的几种代码实现
- 几种关于ASM & AAM 模型代码实现的对比
- 几种关于ASM & AAM 模型代码实现的对比
- 关于解决导出Excel乱码的几种代码写法
- 几种关于ASM & AAM 模型代码实现的对比
- 关于ios访问HTTPS站点的几种方法
- iOS中关于json解析的几种方式
- iOS 开发中关于弹窗的几种方式
- iOS开发, 关于nslog的几种用法
- iOS关于界面跳转的几种方法
- iOS开发- 关于Block的几种应用
- 关于iOS中延迟执行的几种方法
- 关于iOS中延迟执行的几种方法
- c++读取固定路径下的文件名
- boost 1.55.0 Xcode 5.1
- Java关键字介绍之this与super
- QSettings 从注册表读取网关
- JSP/Servlet 工作原理
- iOS关于截屏的几种代码
- 建站学习(PHP+apache+mysql):4 css
- PHP删除指定目录下所有文件夹以及文件
- Bankmark NoSQL性能对比测试
- 开启电脑端口
- Android沉浸式顶栏的实现
- LZW压缩(解压缩)算法详解及源码
- java 远程调用 简单例子
- Android Weak Handler:可以避免内存泄漏的Handler库