iOS以编程方式使用GPUImageview截取屏幕截图

时间:2016-06-10 18:33:14

标签: ios objective-c gpuimage

我正在研究基于GPUImageView的应用程序。我已正确实现了所有功能,但我无法使用GPUImageview捕获屏幕截图。

enter image description here

在这里,我还在我的Github上附加了演示。

GPUImageview Demo

注意:我尝试使用 renderInContext 截取屏幕截图,但对我没用。

1 个答案:

答案 0 :(得分:5)

正如我在您的问题中所看到的,您使用了GPUImageview。和GPUImageview使用openGL,因此,您可以使用UIGraphicsBeginImageContextWithOptions来实现目标。

您可以使用此方法来实现目标。

- (UIImage ​*)snapshot:(UIView *​)view
{
   UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
   [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
   UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext();

   return image;
}

有关更多信息,请单击下面的链接。

On iOS 7 and later, how do I take a snapshot of my view and save the result in a UIImage?