Opengl es 将iPhoneOSGameView捕获为图像

Opengl es 将iPhoneOSGameView捕获为图像,opengl-es,xamarin.ios,drawing,Opengl Es,Xamarin.ios,Drawing,我正在编写一个signaturecontroller,用户在其中写入他的签名,然后我将签名作为图像保存并将其发回服务器 我很快找到了这个优秀的样本: 但是我很难将绘画的结果保存为图像。下面的代码只提供了一个黑色图片,而没有实际的图形,那么如何将图形结果绘制到图像上下文中呢 PaintingView drawingView; 使用OpenGL捕获屏幕截图时,可以按照本节中的Apple说明进行 正常(非OpenGL)捕获可在此之后完成。MonoTouch提供了屏幕捕获方便的方法,可在使用UIK

我正在编写一个signaturecontroller,用户在其中写入他的签名,然后我将签名作为图像保存并将其发回服务器

我很快找到了这个优秀的样本:

但是我很难将绘画的结果保存为图像。下面的代码只提供了一个黑色图片,而没有实际的图形,那么如何将图形结果绘制到图像上下文中呢

PaintingView drawingView;


使用OpenGL捕获屏幕截图时,可以按照本节中的Apple说明进行


正常(非OpenGL)捕获可在此之后完成。

MonoTouch提供了屏幕捕获方便的方法,可在使用UIKit或OpenGL运行时捕获屏幕内容

UIKit应用程序

var screenshot=UIScreen.MainScreen.Capture();
GLKit应用程序

var screenshot=iPhoneOSGameView.Capture();
这两个链接都是404:(@vmachacek-Apple删除了它们(而wayback机器似乎没有)。无论如何,这是最新版本Xamarin.iOS中可用的
Capture
方法的一部分(如Herman)。
UIGraphics.BeginImageContext(drawingView.Frame.Size); 
var ctx = UIGraphics.GetCurrentContext();
drawingView.Layer.RenderInContext(ctx);
UIImage img = UIGraphics.GetImageFromCurrentImageContext();                         
UIGraphics.EndImageContext();