TableView ScrollreView 截屏 截取全屏 图片模糊

来源:互联网 发布:龙虎榜数据怎么来的 编辑:程序博客网 时间:2024/06/05 16:50
  • 通常截图的时候,如果需要截scroll,或者tableview的时候就不能全屏截图了。
  • 一般在做些排行榜时需要截图发到朋友圈 列表太长无法截取所有列表,下面的方法亲测有效

截图方法。

截图的方法

图片保存的回调

保存图片的回调方法


代码部分

- (void)btnAction:(UIButton *)sender {    UIImage* image = nil;    // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,调整清晰度。    UIGraphicsBeginImageContextWithOptions(self.tableView.contentSize, YES, [UIScreen mainScreen].scale);    CGPoint savedContentOffset = self.tableView.contentOffset;    CGRect savedFrame = self.tableView.frame;    self.tableView.contentOffset = CGPointZero;    self.tableView.frame = CGRectMake(0, 0, self.tableView.contentSize.width, self.tableView.contentSize.height);    [self.tableView.layer renderInContext: UIGraphicsGetCurrentContext()];    image = UIGraphicsGetImageFromCurrentImageContext();    self.tableView.contentOffset = savedContentOffset;    self.tableView.frame = savedFrame;    UIGraphicsEndImageContext();    if (image != nil) {        //保存图片到相册        UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
//指定回调方法- (void)image: (UIImage *) image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo{    NSString *msg = nil ;    if(error != NULL){        msg = @"保存图片失败" ;    }else{        msg = @"保存图片成功,可到相册查看" ;    }    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"信息提示"                                                    message:msg                                                   delegate:self                                          cancelButtonTitle:@"确定"                                          otherButtonTitles:nil];    [alert show];}转自:http://blog.csdn.net/cxliao/article/details/77747218普通截取全屏p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; background-color: #ffffff}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #3e1e81; background-color: #ffffff}span.s1 {color: #6122ae}span.s2 {color: #000000}span.s3 {color: #703daa}span.s4 {color: #539aa4}span.s5 {color: #c42275}

-(UIImage *)getBgImage

{

    UIGraphicsBeginImageContext([UIApplication sharedApplication].keyWindow.size);

    [[UIApplication sharedApplication].keyWindow.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return image;

}

截取图tableView 不要导航栏部分p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #1e9421; background-color: #ffffff}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; background-color: #ffffff}span.s1 {color: #6122ae}span.s2 {color: #703daa}span.s3 {color: #3e1e81}span.s4 {color: #c42275}span.s5 {color: #000000}span.s6 {color: #c81b13}span.s7 {color: #0435ff}

//图片模糊

-(UIImage *)coreBlurImage:(UIImage *)image withBlurNumber:(CGFloat)blur

{

    CIContext *context = [CIContext contextWithOptions:nil];

    CIImage *inputImage= [CIImage imageWithCGImage:image.CGImage];

    //设置filter

    CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];

    [filter setValue:inputImage forKey:kCIInputImageKey]; [filter setValue:@(blur) forKey: @"inputRadius"];

    //模糊图片

    CIImage *result=[filter valueForKey:kCIOutputImageKey];

    CGImageRef outImage=[context createCGImage:result fromRect:[result extent]];

    UIImage *blurImage=[UIImage imageWithCGImage:outImage];

    CGImageRelease(outImage);

    return blurImage;

}

原创粉丝点击