我正试图在保存时截取屏幕截图,但只能全屏显示。有没有办法拍摄部分截图?
这是一个示例。假设我只想截取以红色突出显示的部分的屏幕截图。谢谢您的帮助。
答案 0 :(得分:4)
看起来你想要那个网页视图的截图。如果要获取特定视图的图像并仅获取该视图(+子视图),可以使用以下代码:
- (UIImage*)captureView:(UIView*)view
{
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, [UIScreen mainScreen].scale);
else
UIGraphicsBeginImageContext(self.view.bounds.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[view.layer renderInContext:context];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
只需将网络视图传递给该功能即可。
编辑:
假设这只是一个示例图像,并且您想要一个未包含在其自己视图中的区域的屏幕截图,请使用Canada Dev的解决方案。将图像裁剪到您想要的区域。