ios开发过程中可以对任何视图进行截屏,包括网页和视频,我写了一个方法: - (UIImage*)snapViewToImage:(UIView*)currentView{ UIGraphicsBeginImageContext(self.view.frame.size); CGContextRef context=UIGraphicsGetCurrentContext(); [currentView.layer renderInContext:context]; UIImage *image=UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } 调用的时候只需要:[self snapViewToImage:self.view];就可以了 注意:需要导入<QuartzCore/QuartzCore.h> 如果你想截取当前视图的一部分,比如1/4的区域,那么我们可以创建另外一个方法: -(UIImage*)captureView:(UIView *)theView WithRect:(CGRect)rect{ UIImage *mainImage = [self snapViewToImage:self.view];//这里引用了上面这个方法 CGImageRef subImageRef = CGImageCreateWithImageInRect(mainImage.CGImage, rect); CGRect smallBounds = CGRectMake(rect.origin.x, rect.origin.y, CGImageGetWidth(subImageRef), CGImageGetHeight(subImageRef)); UIGraphicsBeginImageContext(smallBounds.size); CGContextDrawImage(UIGraphicsGetCurrentContext(), smallBounds, subImageRef); UIImage* smallImage = [UIImage imageWithCGImage:subImageRef]; UIGraphicsEndImageContext(); return smallImage; } 用法:[self captureView:self.view WithRect:CGRectMake(160, 200, 160, 240)]; 这里有个小例子: http://pan.baidu.com/share/link?shareid=254388&uk=470161866 |