截图的应用

来源:互联网 发布:wifi字典破解软件 编辑:程序博客网 时间:2024/05/17 03:49

一、截长图

        UIImage* image = nil;        // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,调整清晰度。        UIGraphicsBeginImageContextWithOptions(self.chartView.tableview.contentSize, YES, [UIScreen mainScreen].scale);        CGPoint savedContentOffset = self.chartView.tableview.contentOffset;        CGRect savedFrame = self.chartView.tableview.frame;        self.chartView.tableview.contentOffset = CGPointZero;        self.chartView.tableview.frame = CGRectMake(0, 0, self.chartView.tableview.contentSize.width, self.chartView.tableview.contentSize.height);        [self.chartView.tableview.layer renderInContext: UIGraphicsGetCurrentContext()];        image = UIGraphicsGetImageFromCurrentImageContext();        self.chartView.tableview.contentOffset = savedContentOffset;        self.chartView.tableview.frame = savedFrame;        UIGraphicsEndImageContext();                if (image != nil) {            //保存图片到相册            UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);        }


二、自定义截图范围

        UIImage* image = nil;        // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,调整清晰度。        UIGraphicsBeginImageContextWithOptions(self.chartView.tableview.contentSize, YES, [UIScreen mainScreen].scale);        CGPoint savedContentOffset = self.chartView.tableview.contentOffset;        CGRect savedFrame = self.chartView.tableview.frame;        self.chartView.tableview.contentOffset = CGPointZero;        self.chartView.tableview.frame = CGRectMake(0, 0, self.chartView.tableview.contentSize.width, self.chartView.tableview.contentSize.height);        [self.chartView.tableview.layer renderInContext: UIGraphicsGetCurrentContext()];        image = UIGraphicsGetImageFromCurrentImageContext();        self.chartView.tableview.contentOffset = savedContentOffset;        self.chartView.tableview.frame = savedFrame;        UIGraphicsEndImageContext();                CGImageRef imageRef =image.CGImage;                CGRect rect = CGRectMake(100,100, 100   , 100);//这里可以设置想要截图的区域                CGImageRef imageRefRect =CGImageCreateWithImageInRect(imageRef, rect);                UIImage *sendImage =[[UIImage alloc] initWithCGImage:imageRefRect];                UIImageWriteToSavedPhotosAlbum(sendImage, nil, nil, nil);//保存图片到照片库

0 0
原创粉丝点击