大佬教程收集整理的这篇文章主要介绍了ios – 获取UIScrollView的屏幕截图,包括屏幕外部分,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
-(void)takeScreenshot { CGRect contextRect = CGRectMake(0,768,1004); UIGraphicsBeginImageContext(contextRect.sizE); [self.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // do something with the viewImage here. }
这基本上移动到滚动视图的顶部,并且截取可见区域的屏幕截图。它工作正常,当iPad面向肖像,但当它在风景中的图像底部被切断(因为可见区域的高度只有748,而不是1004)。
是否有可能获得UIScrollView的快照,包括屏幕上的区域?或者我需要向下滚动视图,拍摄第二张照片并将它们拼在一起吗?
- (IBACtion) renderScrollViewToImage { UIImage* image = nil; UIGraphicsBeginImageContext(_scrollView.contentSizE); { CGPoint savedContentOffset = _scrollView.contentOffset; CGRect savedFrame = _scrollView.frame; _scrollView.contentOffset = CGPointZero; _scrollView.frame = CGRectMake(0,_scrollView.contentSize.width,_scrollView.contentSize.height); [_scrollView.layer renderInContext: UIGraphicsGetCurrentContext()]; image = UIGraphicsGetImageFromCurrentImageContext(); _scrollView.contentOffset = savedContentOffset; _scrollView.frame = savedFrame; } UIGraphicsEndImageContext(); if (image != nil) { [UIImagePNGRepresentation(imagE) writeToFile: @"/tmp/test.png" atomically: YES]; system("open /tmp/test.png"); } }
最后几行只是将图像写入/tmp/test.png,然后在Preview.app中打开它。这显然只在模拟器中工作:-)
以上是大佬教程为你收集整理的ios – 获取UIScrollView的屏幕截图,包括屏幕外部分全部内容,希望文章能够帮你解决ios – 获取UIScrollView的屏幕截图,包括屏幕外部分所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。