您的位置:首页 > 产品设计 > UI/UE

UIScrollView,UIView截屏代码

2014-11-30 14:38 225 查看
//截图

UIView:截全图
-(UIImage*)captureView:(UIView *)theView{
CGRect rect = theView.frame;
if ([theView isKindOfClass:[UIScrollView class]]) {
rect.size = ((UIScrollView *)theView).contentSize;
}

UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[theView.layer renderInContext:context];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}


UIView:截取部分视图

-(UIImage*)imageFromView:(UIView *)theView atFrame:(CGRect)rect
{

UIGraphicsBeginImageContext(theView.frame.size);

CGContextRef context =
UIGraphicsGetCurrentContext();

CGContextSaveGState(context);

UIRectClip(rect);
[theView.layer
renderInContext:context];

UIImage *theImage =
UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return theImage;
}

UIScrollView:
- (UIImage *)captureScrollView:(UIScrollView *)scrollView{
UIImage* image = nil;
UIGraphicsBeginImageContext(scrollView.contentSize);
{
CGPoint savedContentOffset = scrollView.contentOffset;
CGRect savedFrame = scrollView.frame;
scrollView.contentOffset = CGPointZero;
scrollView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height);

[scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();

scrollView.contentOffset = savedContentOffset;
scrollView.frame = savedFrame;
}
UIGraphicsEndImageContext();

if (image != nil) {
return image;
}
return nil;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: