UIScrollView,UIView截屏代码

来源:互联网 发布:java web项目断点调试 编辑:程序博客网 时间:2024/06/02 14:51

//截图
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.layerrenderInContext: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;}

0 0
原创粉丝点击