iOS截屏代码
2020年02月15日
作者:佚名
下面是来客网 jb51.cc 通过网络收集整理的代码片段。
来客网小编现在分享给大家,也给大家做个参考。
/** *截图功能 */ -(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,641,SCREEN_HEIGHT + 300);//这里可以设置想要截图的区域 CGImageRef imageRefRect =CGImageCreateWithImageInRect(imageRef,rect); UIImage *sendImage = [[UIImage alloc] initWithCGImage:imageRefRect]; //以下为图片保存代码 UIImageWriteToSavedPhotosAlbum(sendImage,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]; }
2.UIScrollView截屏(一屏无法显示完整)
/** *截图 */ - (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,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(@"截图成功!"); } }
以上是来客网(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。
以上是来客网为你收集整理的iOS截屏代码全部内容,希望文章能够帮你解决iOS截屏代码所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。